Как изменить версию npm с помощью nvm?

Я использую NVM для установки последних версий nodeJS для моей работы node. Он отлично работает для установки отдельных версий и переключения между ними. Он также устанавливает последнюю версию NPM в каждой локальной папке... /bin вместе с двоичным файлом node. Однако, похоже, нет никакого способа переключить версию NPM, которую я использую (или, по крайней мере, я не могу понять это).

Единственное решение, о котором я могу думать, это удалить двоичный файл, который он по умолчанию (который является NPM, который был установлен, когда я впервые установил node с NVM), и вместо него поместить последний двоичный файл NPM. Тем не менее, мне интересно, есть ли какие-нибудь более эффективные способы сделать это.

Ответ 1

РЕДАКТИРОВАТЬ: через несколько лет после первого ответа на этот вопрос, как отмечено в более новом ответе, теперь есть команда для этого:

Теперь у nvm есть команда для обновления npm. Это nvm install-latest-npm или nvm install --latest-npm.

nvm install-latest-npm: nvm install-latest-npm обновить до последней рабочей npm в текущей версии узла

nvm install --latest-npm: после установки nvm install --latest-npm обновить до последней рабочей npm для данной версии узла

Ниже приведены предыдущие версии правильного ответа на этот вопрос.

Спустя три года после того, как этот вопрос был впервые задан, кажется, что ответ теперь намного проще. Просто обновите версию, установленную nvm, которая находится в ~/.nvm/versions/node/[your-version]/lib/node_modules/npm.

Я только что установил узел 4.2.2, который поставляется с npm 2.14.7, но я хочу использовать npm 3. Итак, я сделал:

cd ~/.nvm/versions/node/v4.2.2/lib
npm install npm

Легко!

И да, это должно работать для любого модуля, а не только для npm, который вы хотите быть "глобальным" для конкретной версии узла.


РЕДАКТИРОВАТЬ 1: В новейшей версии npm -g является умным и устанавливает модули по указанному выше пути, а не по системному глобальному пути.


Спасибо @philraj за то, что указал на это в комментарии.

Ответ 2

nvm не обрабатывает npm.

Итак, если вы хотите установить node 0.4.x(на что многие пакеты по-прежнему зависят) и использовать NPM, вы все равно можете использовать npm 1.0.x.

Установите node 0.6.x(который поставляется с npm 1.1.x) и установите nvm с номером npm:

npm install nvm
. ~/nvm/nvm.sh

Установите node 0.4.x с nvm:

nvm install v0.4.12
nvm use v0.4.12

Установите npm с помощью install.sh(обратите внимание на параметр -L, чтобы следить за любыми переадресациями):

curl -L https://npmjs.org/install.sh | sh

Это обнаружит node 0,4.12 и установит npm 1.0.106 в вашу папку ~/nvm/v0.4.12/lib/node_modules и создаст символическую ссылку для nvm

~/nvm/v0.4.12/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js

Если вы попытаетесь запустить npm, он все равно выдаст ошибку, но если вы снова выполните nvm use v0.4.12, он должен работать.

Ответ 3

Теперь у nvm есть команда для обновления npm. Это nvm install-latest-npm или npm install --latest-npm.

Ответ 5

Я на Windows, и я не мог заставить все это работать. Я продолжал получать ошибки о файлах в пути. Это сработало, хотя:

cd %APPDATA%\nvm\v8.10.0           # or whatever version you're using
mv npm npm-old
mv npm.cmd npm-old.cmd
cd node_modules\
mv npm npm-old
cd npm-old\bin
node npm-cli.js i -g [email protected]

cd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
rm npm-old
rm npm-old.cmd
cd node_modules\
rm -rf npm-old

И бум, я снова в деле.

Ответ 6

Изменение версий npm на ОС на основе Linux еще не является одним из первых процессов. Я сделал следующее, чтобы вернуться к более старой версии npm. Это должно работать, чтобы получить любую версию npm. Сначала установите версию npm, которую вы хотите использовать:

sudo npm install -g [email protected]

Удалить сим ссылку в /usr/local/bin/

sudo rm /usr/local/bin/npm

Создайте символическую ссылку, используя нужную версию npm, которую вы установили

sudo ln -s /usr/bin/[email protected] /usr/local/bin/npm

Ответ 7

Посмотрев на www.npmjs.com/install.sh, я обнаружил, что есть способ установить определенную версию, установив переменную среды

export npm_install="2.14.14"

Затем запустите download- script, как описано на странице npmjs.com:

curl -L https://www.npmjs.com/install.sh | sh

Если вы опустите параметр npm_install, то он установит версию, которую они пометили как последняя

Ответ 8

В windows запустите свой терминал от имени администратора (в случае, если у меня возникли проблемы с правами доступа). Затем используйте конкретную версию узла (скажем, 7.8.0)

nvm use 7.8.0

затем обновите свой npm до нужной конкретной версии с помощью

npm install -g [email protected]

Ответ 9

Как насчет npm i -g npm? Вы пытались запустить это также?

Ответ 10

Небольшой разброс по вышеприведенным инструкциям, сработал для меня. (MacOS Sierra 10.12.6)

npm install -g [email protected]
rm /usr/local/bin/npm
ln -s ~/.npm-packages/bin/npm /usr/local/bin/npm
npm --version

Ответ 11

У меня была nvm-windows же проблема после установки nvm-windows поверх существующей установки Node. Решение было просто следовать инструкциям:

Вам также следует удалить существующее место установки npm (например, "C:\Users\AppData\Roaming\npm"), чтобы вместо него правильно использовалось место установки nvm.

Установка и обновление

Ответ 12

Установка NVM & использование в Windows

Ниже приведены инструкции по установке NVM в Windows:

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

Установите установку NVM. Используйте команду "nvm list", чтобы проверить список версий установленного узла. Введите "nvm use number version [6.9.3]" для переключения версий. Для более подробной информации

Ответ 13

  1. найдите здесь узел и версию npm, которую вы хотите использовать https://nodejs.org/en/download/releases/
  2. nvm use 8.11.4
  3. Вы уже получили 5,6 (хороший и хороший).