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


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

У меня проблемы с npm в коробке бродяг, которую я настраиваю. Я заметил, что 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 ни node:

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 до последней версии?


110
2017-12-17 09:39


происхождения


Вы уверены, что есть более новая версия? Потому что для меня 1.3.10 - это последняя версия, доступная в официальном репо. - Registered User
@RegisteredUser: В моем первом выходном листинге он даже говорит 2.1.12, который является последней версией: github.com/npm/npm/releases - Der Hochstapler
Попробуйте, $ sudo npm install npm -g - vembutech
@vembutech: Я сделал. Если вы не предполагаете, что -g должен быть размещен где-то еще в командной строке. - Der Hochstapler
which npm очень полезно. старый npm был в /usr/local/bin и имеет приоритет выше /usr/bin новый - vp_arth


ответы:


Я до сих пор не понимаю Зачем, но я должен бежать 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

130
2017-12-17 10:31



Если вы недавно переконфигурировали, чтобы остановить sudo, как предлагается здесь: justjs.com/posts/..., возможно, вы изменили файл ~ / .bashrc. Таким образом, обязательно выполните source ~/.bashrc или иначе npm -v не найдет обновленную версию. - modulitos
Я только что закрыл и снова открыл экземпляр оболочки, чтобы увидеть обновленную версию. - absynce
Для меня это сработало с первого раза. - Daneel S. Yaitskov
Я должен был сделать это дважды в 14.04, прежде чем он был поднят. Не думал бы иначе. ура - Dark Star1
Не знаю, как я туда попал, но это может помочь кому-то: после того, как вы установили nodejs, как описано здесь https://nodejs.org/en/download/package-manager/, вы должны перезапустить свой терминал, и он будет там. Вы не необходимо установить npm в отдельности! Поэтому вам также не нужно будет устанавливать и обновлять npm, - Ufos


Вы можете обновлять nodejs с помощью самой npm, PPA или вручную.

НПМ:

Проверьте текущую версию:

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 by chris-lea;

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

Этот PPA поддерживает следующие дистрибутивы: Utopic (14.10), Trusty (14.04), Saucy (13.10), Raring (13.04), Quantal (12.10), Precise (12.04), Oneiric (11.10), Natty (11.04), Lucid (10.04 ).

Вручную:

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


Справка:


35
2017-12-17 10:38



Я знаю, что вы пытаетесь помочь, но это именно то, что он говорит в моем вопросе. - Der Hochstapler
@OliverSalzburg, мой плохой, я видел вышеупомянутый пост, и мне было шумно читать. Итак, я только начал публиковать, свой собственный ответ. - blade19899
@OliverSalzburg, я обновил свой ответ с несколькими вариантами о том, как обновить! - blade19899
потрясающе, используя n хорошо для меня (debian sid) - Michel Feldheim
Это, безусловно, правильный ответ. Меня это раздражает, когда вопросные плакаты отвечают на собственный вопрос «НЕПРАВИЛЬНО», а затем отмечают его как принятый. Они должны быть наказаны! - Twifty


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

Теперь ваш путь должен иметь /usr/local/bin/ ДО /usr/bin/, поэтому вы могли бы подумать, что теперь он подберет обновленную версию в /usr/local/bin/, правильно? Неправильно.

Bash выполнит исполняемые пути CACHE после первого поиска их, поэтому, когда вы говорите npm 2-й раз, он все еще использует кэшированную версию, которую он сначала нашел как /usr/bin/npm,

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

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

благодаря


32
2018-02-14 11:54



это сработало для меня 14.04 Спасибо! - prnt.sc/bybbao - Patoshi パトシ
Это сработало для меня, спасибо. Все остальные ответы не помогли. - rotoava
Идеальный и понятный ответ, это сработало для меня - mrroboaat
Windows 10 Bash 14.04 это сработало для меня после обновления - mrpatg
hash -r спаси мою задницу. XD - novaline


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

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

sudo npm install npm@latest -g

Как упоминалось в нижнем колонтитуле Документация NPM


15
2018-04-02 17:53





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

Узнайте, где установлена ​​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
2018-03-05 14:20



Это бесплатно для меня (в отличие от других ответов), однако npm не обновляется - PandaWood
если вы sudo он использует папку npm корневой учетной записи, помните об этом. Если вы хотите узнать, где находится ваш npm, просто введите: whereis npm | xargs readlink -f, Возможно, вы просто обновили неправильный пакет. Я добавил некоторую информацию в свой ответ. - Tom Siwik


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


1
2018-01-14 18:58





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

В debian stretch и 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
2018-01-21 20:33





обновление до 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

Источник от nodeource.com


0
2017-07-13 10:04





Я столкнулся с проблемой. Моя текущая версия 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
2018-01-29 09:47