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

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

Использование Node.js 8.11.1

node -v
v8.11.1

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

$ npm -v
5.6.0

Я пробовал это...

$ npm i -g npm
+ [email protected]
updated 1 package in 7.37s

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

$ npm -v
5.6.0

Где npm?

$ which npm
/usr/local/bin/npm

Поэтому я пробую brew...

brew install npm

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

$ npm -v
5.6.0

* И затем я попробовал это... *

npm install [email protected] -g
+ [email protected]
updated 1 package in 7.618s

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

npm -v
5.6.0

С sudo :

sudo npm i -g npm
+ [email protected]
updated 1 package in 7.794s

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

npm -v
5.6.0

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

sudo npm install [email protected] -g

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


Снимок экрана, для каждого запроса:

enter image description here


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

$ npm -v
5.6.0

sudo два раза:

$ sudo npm i -g npm
+ [email protected]
updated 1 package in 7.478s
$ sudo npm i -g npm
+ [email protected]
updated 1 package in 7.434s

Также не удается:

$ npm -v 
5.6.0

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

Ответ 1

Возможно, вы уже решили это, но вот что я нашел, когда у меня была именно эта проблема. У меня было 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, но хотел бы знать, почему (как) я закончил с двумя версиями. Вот обновление:

tail -2 ~/.bash_profile

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

PATH="$NPM_PACKAGES/bin:$PATH"

Ответ 2

Это работает на моем mac.

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

npm install -g [email protected]

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

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

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

Ответ 3

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

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

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

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

nvm install-latest-npm

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

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

Ответ 4

npm install -g npm @последние работает отлично !! и вы также можете заменить последние версии для определенных версий, таких как npm install -g [email protected]

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

Ответ 5

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

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

Ответ 6

Это работает на моем Mac

'sudo npm install -g [email protected]'