как обновить npm на macOS

Ответ, Который Разрешил Мой Вопрос

кажется, многие нашли этот вопрос полезным, поэтому я уверен, что ответы помогут вам на правильном пути.

для моей первоначальной ситуации было две версии npm (и узел.js) установлен на моем mac. По какой-то причине одна из версий была чрезвычайно надоедливой и не удалялась.

мое решение требовало добавления моего PATH переменная с установленной версией под ~/.nvm/ как показывает принятый ответ. Это означает, что я решил свою проблему, установив node (и таким образом npm) через nvm. Затем я обновил npm С npm i -g npm@latest без проблем.

Итак, только потому, что я не уверен, что эта преамбула ясна, я 1) установленный узел / npm с nvm,2) добавлена моя переменная $PATH. Оба шага вместе решили мою проблему.


Мой Оригинал Вопрос

по неизвестным мне причинам я не смог обновить до последней версии npm на macOS (он отлично работает на Windows). он не отображает ошибку, только "обновленный 1 пакет".

Через Узел.js 8.11.1

node -v
v8.11.1

какая версия npm у меня есть?

$ npm -v
5.6.0

я попытался это...

$ npm i -g npm
+ npm@5.8.0
updated 1 package in 7.37s

и он не обновляется.

$ npm -v
5.6.0

где НПМ?

$ which npm
/usr/local/bin/npm

поэтому я стараюсь brew...

brew install npm

и он терпит неудачу...

$ npm -v
5.6.0

и тогда я попробовал это...

npm install npm@latest -g
+ npm@5.8.0
updated 1 package in 7.618s

и он терпит неудачу...

npm -v
5.6.0

С sudo:

sudo npm i -g npm
+ npm@5.8.0
updated 1 package in 7.794s

и он терпит неудачу...

npm -v
5.6.0

это также не удается...

sudo npm install npm@latest -g

я последовал за направления найдено на этом Q & A, полностью удалив npm и node из моей системы и переустановив их с нуля, а также не удается обновить.


скриншот, по запросу:

enter image description here


закройте терминал и снова откройте терминал, затем запустите:

$ npm -v
5.6.0

sudo дважды:

$ sudo npm i -g npm
+ npm@5.8.0
updated 1 package in 7.478s
$ sudo npm i -g npm
+ npm@5.8.0
updated 1 package in 7.434s

тоже не получается:

$ npm -v 
5.6.0

что я пропустил? Что что здесь происходит?

5 ответов


возможно, вы уже решили это, но вот что я нашел, когда у меня была именно эта проблема. У меня было установлено 2 версии npm.

Я проверил это следующим образом:

grep \"version\" ~/.npm-packages/lib/node_modules/npm/package.json

  "version": "6.2.0"

grep \"version\" /usr/local/lib/node_modules/npm/package.json

  "version": "5.6.0",

Я работал над проблемой, обновляя путь в моем профиле bash, но хотел бы знать, почему (как) я закончил с 2 версиями. Вот обновление:

tail -2 ~/.bash_profile

NPM_PACKAGES="${HOME}/.npm-packages"

PATH="$NPM_PACKAGES/bin:$PATH"

это работает на моем Mac.

на основе документов https://docs.npmjs.com/troubleshooting/try-the-latest-stable-version-of-npm:

npm install -g npm@latest

в документах указано примечание, которое зависит от вашего метода установки, вы можете добавить некоторые sudo.

обновление на *nix (OSX, Linux и т. д.)

(вам может потребоваться префикс этих команд с помощью sudo, особенно в Linux, или OS X, если вы установили узел, используя его по умолчанию установщик.)


в моем случае, я использую nvm для управления различными версиями node. Чтобы обновить версию npm, я должен

1-Установите последнюю версию npm, перейдя к текущей версия узле

cd ~/.nvm/versions/node/v10.9.0
npm install npm

или вы, вероятно, можете использовать

nvm install-latest-npm

2 - Edit $PATH чтобы указать на текущую версию node

NPM_PACKAGES="${HOME}/.nvm/versions/node/v10.9.0"
PATH="$NPM_PACKAGES/bin:$PATH"

я столкнулся с той же проблемой. Возможно, вы уже установили версию npm, и теперь пришло время указать новую версию npm install. Вы можете сделать это, выполнив следующие шаги.

  1. sudo nano /usr/local/lib/node_modules/npm/package.json
  2. изменить "version" : "5.6.0" to "verison": "5.8.0"

установка npm-g npm@latest работает отлично!! и вы также можете заменить последнюю версию для определенных версий как установка npm-g npm@5.6.0

надеюсь, это поможет!!!