Как обновить npm до последней версии? [дубликат]

На этот вопрос уже есть ответ здесь:

У меня проблемы с npm в ящике Vagrant, который я настраиваю. Я заметил, что версия npm несколько устарела, поэтому я хотел проверить проблему в последней версии.

Насколько я понимаю, вы можете обновить npm с помощью npm install -g npm , но эта команда не влияет на npm , использовано:

vagrant@box:~$ npm -v
1.3.10
vagrant@box:~$ sudo npm install -g npm
npm http GET https://registry.npmjs.org/npm
npm http 200 https://registry.npmjs.org/npm
npm http GET https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
npm http 200 https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@2.1.12 /usr/local/lib/node_modules/npm
vagrant@box:~$ npm -v
1.3.10

Я также пробовал использовать n (как предлагается в Как я могу обновить свой nodeJS до последней версии? ) для обновления, но это не влияет ни на npm или узел :

vagrant@box:~$ node -v
v0.10.25
vagrant@box:~$
vagrant@box:~$ sudo npm install -g n
/usr/bin/n -> /usr/lib/node_modules/n/bin/n
n@1.2.9 /usr/lib/node_modules/n
vagrant@box:~$ sudo n stable

     install : v0.10.33
       mkdir : /usr/local/n/versions/0.10.33
       fetch : http://nodejs.org/dist/v0.10.33/node-v0.10.33-linux-x64.tar.gz
   installed : v0.10.33

vagrant@box:~$ node -v
v0.10.25
vagrant@box:~$ npm -v
1.3.10

Что мне нужно сделать, чтобы обновить npm до последней версии?

127
задан 13 April 2017 в 05:23

10 ответов

Я все еще не понимаю , почему , но я должен работать npm install -g npm дважды для него, чтобы иметь желаемый эффект:

vagrant@box:~$ npm -v
1.3.10
vagrant@box:~$ sudo npm install -g npm
npm http GET https://registry.npmjs.org/npm
npm http 200 https://registry.npmjs.org/npm
npm http GET https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
npm http 200 https://registry.npmjs.org/npm/-/npm-2.1.12.tgz
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@2.1.12 /usr/local/lib/node_modules/npm
vagrant@box:~$ npm -v
1.3.10
vagrant@box:~$ sudo npm install -g npm
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.js
npm@2.1.12 /usr/lib/node_modules/npm
vagrant@box:~$ npm -v
2.1.12
140
ответ дан 22 November 2019 в 22:55

Можно обновить nodejs при помощи самого npm, PPA, или вручную.

npm:

Проверка текущая версия Вы имеете:

node -v

следующее очищает Ваш кэш.

sudo npm cache clean -f

Установка n

sudo npm install -g n

можно сказать ему устанавливать определенную версию как так:

sudo n 0.8.11

Или просто говорят ему устанавливать последнюю стабильную версию. Оба могут требовать времени.

sudo n stable

, Чтобы видеть, обновило ли это на самом деле, выполненный:

node -v

PPA:

Другая опция состоит в том, чтобы установить его через PPA chris-lea;

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs

Этот PPA Поддержки следующие дистрибутивы: Utopic (14.10), Надежный человек (14.04), Дерзкий (13.10), Полный нетерпения (13.04), Quantal (12.10), Точный (12.04), Сновещательный (11.10), Аккуратный (11.04), Lucid (10.04).

Вручную :

можно всегда обновлять его вручную загрузка последняя версия и установка его сами!

<час>

Ссылка :

38
ответ дан 22 November 2019 в 22:55

Обновите NPM к последней версии в одной команде

, Чтобы обновить или обновить версию Вашего npm, просто введите в терминале:

sudo npm install npm@latest -g

, Как упомянуто в нижнем колонтитуле документация NPM

20
ответ дан 22 November 2019 в 22:55

Большую часть времени я неспособен обновить его с глобальной командой. Что работало на меня, однако обновляет пакет из источника всех системных модулей узла:

Узнают, где npm установлен, и войдите в ту папку

# Below command shows the destination (remove sed pipe to see the full path of npm-cli)
whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{19\}$//'

# Go in there and install it manually. In my case it was the folder below... 
# NOTE: on mac its in /usr/local/lib
cd /usr/lib
sudo npm install npm@latest

, Созерцают могущественную остроту для всех (особенно ленивые люди)

cd `whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{18\}$//'`; cd ..; sudo npm install npm@latest
12
ответ дан 22 November 2019 в 22:55

Любой прием, который Вы делаете, не используют Git, я повторно управляю выполнением их в Composer terminal. Это будет, конечно, работать. Это сделало для меня npm install npm -g.

1
ответ дан 22 November 2019 в 22:55

Для обновления npm, необходимо обновить nodejs к последней версии, которая включает npm

Во фрагменте debian, и jessie используют этот сценарий:

#install prerequisites
apt-get install apt-transport-https curl git lsb-release -y

#Install NodeJS from external repositories
DISTRO=$(lsb_release -c -s)
if [ "$DISTRO" == "stretch" ]
then
  DISTRO="jessie"
fi

if curl -f "https://deb.nodesource.com/node_7.x/dists/$DISTRO/Release" >/dev/null
then
  curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
  echo "deb https://deb.nodesource.com/node_7.x $DISTRO main" > /etc/apt/sources.list.d/nodesource.list
  echo "deb-src https://deb.nodesource.com/node_7.x $DISTRO main" >> /etc/apt/sources.list.d/nodesource.list
  apt-get update
  # comment out the following line, if you installed nodejs 7 already (check with `apt-cache policy nodejs`)
  apt-get remove nodejs nodejs-legacy npm
  apt-get install nodejs -y
else
  echo -e "Your distribution is not supported by NodeJS. \nYou have to install a recent NodeJS version (>=4) manually. "
fi

В Ubuntu, можно использовать этот сценарий от https://deb.nodesource.com :

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

посмотрите источник сначала в https://github.com/nodesource/distributions/blob/master/deb/setup_7.x

1
ответ дан 22 November 2019 в 22:55

Я сталкивался с проблемой. Моя текущая npm версия была 3.3.12, но я попробовал sudo npm install npm -g, sudo npm update npm -g.. ничто не работало.. в то время как я npm --version я всегда добираюсь 3.3.12. Я искал каталоги в своей Ubuntu 15.04 и нашел две версии npm в другом каталоге.

  • v3.3.12 в /usr/local/lib/node_modules/npm
  • v3.6 в /usr/lib/node_modules/npm

, Таким образом, я действительно делал копию 3.3.12 с mv npm npm_3312, в то время как я был в более старом npm каталоге. Затем я сделал sudo cp -r npm /usr/local/lib/node_modules/, в то время как я был в '/usr/lib/node_modules' 'каталог.. Я сделал мой npm --version, и я добрался 3.6.0

:D

0
ответ дан 22 November 2019 в 22:55

обновление до источника nodejs v0.12.7

 # Note the new setup script name for Node.js v0.12
 curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

 # Then install with:
 sudo apt-get install -y nodejs

с nodesource.com

0
ответ дан 22 November 2019 в 22:55

Я не вижу оснований для переустановки чего-то, что готово там, просто используйте -g обновления, встроенный в диспетчер пакетов для обновления себя:

$ npm -v
2.15.1
$ sudo npm update -g npm
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@3.10.9 /usr/local/lib/node_modules/npm
$ npm -v
3.10.9

Удостоверяются, что глобальный флаг -g перед пакетами. У меня были проблемы в прошлом с npm, не регистрирующим флаг после списка пакета.

0
ответ дан 22 November 2019 в 22:55

Когда Вы сначала делаете npm install -g npm, оболочка (Bash) будет искать npm в Вашем пути найти /usr/bin/npm установленный системным пакетом, и затем используют его для установки новой версии npm. Новая версия будет установлена в /usr/local/bin/npm.

Теперь, Ваш путь должен иметь /usr/local/bin/ ПРЕЖДЕ /usr/bin/, таким образом, Вы думали бы, что это теперь возьмет обновленную версию в /usr/local/bin/, право? Неправильно.

Bash будет КЭШИРОВАТЬ исполняемые пути после первого раза, когда он ищет их, поэтому когда Вы говорите npm в 2-й раз это все еще использует кэшированную версию, которую это сначала нашло как /usr/bin/npm.

Чтобы сказать Bash очищать этот кэш и просматривать путь снова, необходимо сделать a hash -r.

После установки npm и делая это, моя оболочка взяла новую версию npm очень хорошо.

Спасибо

49
ответ дан 22 November 2019 в 22:55

Другие вопросы по тегам:

Похожие вопросы: