Я использовал NVM для установки последних версий nodeJS для работы моего узла. Он прекрасно работает для установки отдельных версий и переключения между ними. Он также устанавливает последнюю версию NPM в каждой локальной папке ... / bin вместе с двоичным файлом узла. Тем не менее, кажется, нет никакого способа переключить версию NPM, которую я использую (или, по крайней мере, я не могу понять это).
Единственное решение, которое я могу придумать для себя, - это удалить двоичный файл, в котором он установлен по умолчанию (то есть NPM, который был установлен, когда я впервые установил узел с NVM), и вместо него установить последний двоичный файл NPM. Тем не менее, мне интересно, есть ли лучшие способы сделать это.
Ответы:
РЕДАКТИРОВАТЬ: через несколько лет после первого ответа на этот вопрос, как отмечено в более новом ответе , теперь есть команда для этого:
nvm install-latest-npm
: Попытка обновления до последней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. Итак, я сделал:
Легко!
И да, это должно работать для любого модуля, а не только для npm, который вы хотите быть «глобальным» для конкретной версии узла.
РЕДАКТИРОВАТЬ 1: В новейшей версии,
npm -g
умный и устанавливает модули в путь выше, а не глобальный путь системы.Спасибо @philraj за то, что указал на это в комментарии.
источник
which npm
.npm install npm@major.minor.patch
чтобы получить эту конкретную версию, например,npm@3.10.9
cd ~/AppData/Roaming/nvm/v5.10.1
.nvm install-latest-npm
как ответил ниже samlandfried - stackoverflow.com/a/47519162/5991278nvm не обрабатывает npm.
Поэтому, если вы хотите установить узел 0.4.x (от которого все еще зависят многие пакеты) и использовать NPM, вы все равно можете использовать npm 1.0.x.
Установите узел 0.6.x (который поставляется с npm 1.1.x) и установите nvm с npm:
Установите узел 0.4.x с помощью nvm:
Установите npm, используя install.sh (обратите внимание на
-L
параметр, чтобы следовать любым перенаправлениям):Это обнаружит узел 0.4.12 и установит npm 1.0.106 в вашу папку ~ / nvm / v0.4.12 / lib / node_modules и создаст символическую ссылку для nvm
Если вы попытаетесь запустить npm, он все равно выдаст ошибку, но если вы сделаете это
nvm use v0.4.12
снова, теперь он должен работать.источник
curl https://npmjs.org/install.sh | sh
curl -L
чтобы следовать перенаправлению.Теперь у nvm есть команда для обновления npm. Это
nvm install-latest-npm
илиnpm install --latest-npm
.источник
nvm help
вывода консоли:--latest-npm After installing, attempt to upgrade to the latest working npm on the given node version
я не нашел ссылку на это вnvm
документации, хотя. Пожалуйста, поделитесь, если вы найдете это.источник
Я на Windows, и я не мог заставить все это работать. Я продолжал получать ошибки о файлах в пути. Это сработало, хотя:
И бум, я снова в деле.
источник
mv
наren
иrm
наdel
иrmdir
для меня.Изменение версий npm в ОС на основе Linux пока не является простым командным процессом. Я сделал следующее, чтобы вернуться к старой версии npm. Это должно работать, чтобы заставить работать любую версию npm. Сначала установите версию npm, которую вы хотите использовать:
Удалите ссылку sym в / usr / local / bin /
Создайте ссылку sym заново, используя установленную вами версию npm.
источник
sudo npm install -g npm@x.x.x
заставляет меня ответить на эту версиюnpm -v
. По крайней мере, это сработало с 4.x до 2.15.9.sudo npm install -g npm@4.6.1
установлен только 4.6.1, но npm 5.1.0 все еще использовался. Ваш совет поможет мне перейти на 4.6.1.Глядя на www.npmjs.com/install.sh, я обнаружил, что есть способ установить определенную версию, установив переменную среды
export npm_install="2.14.14"
Затем запустите скрипт загрузки, как описано на npmjs.com :
curl -L https://www.npmjs.com/install.sh | sh
Если вы пропустите настройку переменной npm_install , она установит версию, помеченную как последняя
источник
curl -L https://www.npmjs.com/install.sh | sudo sh
, аааа, и этот метод не работал, получая последнюю версию, хотя я и экспортировал указанную переменную среды. Черт побери. Я хотел версию 2.15.9 от 2.14.7, ответ ниже поставил меня на 3.8.6, и теперь этот ответ ставит меня на 4.0.2. WTF.В windows запустите свой терминал от имени администратора (в случае, если у меня возникли проблемы с правами доступа). Затем используйте конкретную версию узла (скажем, 7.8.0)
затем обновите свой npm до нужной конкретной версии с помощью
источник
Как насчет
npm i -g npm
? Вы пытались запустить это также?источник
Небольшой разброс по вышеприведенным инструкциям, сработал для меня. (MacOS Sierra 10.12.6)
источник
nvm use 8.11.4
Просто иди с
nvm use node_version
источник
У меня была такая же проблема после установки
nvm-windows
поверх существующей установки Node. Решение было просто следовать инструкциям:Установка и обновление
источник
Установка и использование NVM в Windows
Ниже приведены шаги для установки NVM в Windows:
NVM означает менеджер версий узлов, который поможет переключать версии вашего узла для конкретного использования. Это также позволяет пользователю работать с несколькими версиями npm и узлов.
Установите установку NVM. Используйте команду "nvm list", чтобы проверить список версий установленного узла. Введите «nvm use number version [6.9.3]» для переключения версий. Для получения дополнительной информации
источник