Как я могу изменить версию npm с помощью nvm?
Я использую NVM для установки последних версий nodeJS для моей работы с узлом. Он отлично работает для установки отдельных версий и переключения между ними. Он также устанавливает последнюю версию NPM в каждом локальном .../ папка bin вместе с двоичным узлом узла. Однако, похоже, нет никакого способа переключить версию NPM, которую я использую (или, по крайней мере, я не могу понять это).
единственное решение, которое я могу придумать сам, это удалить двоичный файл, который это по умолчанию (который является NPM, который был установлен, когда я впервые установил узел с NVM), и на его место поставить последний двоичный файл NPM. Однако мне интересно, есть ли какие-либо лучшие способы сделать это.
10 ответов:
через три года после того, как этот вопрос был впервые задан, кажется, что ответ теперь намного проще. Просто обновите версию, которую установил 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умный и устанавливает модули в путь выше вместо глобального системного пути.
EDIT 2, еще два года и шесть версий узлов позже: как отмечено в новый ответ, теперь есть команда для этого:
nvm теперь имеет команду для обновления npm. Это
nvm install-latest-npmилиnpm install --latest-npm.спасибо
philrajдля указания на это в комментарии.
nvm не обрабатывает npm.
так что если вы хотите установить узел 0.4.x (от которого все еще зависят многие пакеты) и использовать NPM, вы все еще можете использовать npm 1.0.x.
установить узел 0.6.x (который поставляется с npm 1.1.x) и установить nvm с npm:
npm install nvm . ~/nvm/nvm.shустановить узел 0.4.x с nvm:
nvm install v0.4.12 nvm use v0.4.12установка НПМ с помощью install.sh (обратите внимание на
-Lparam, чтобы следовать любым перенаправлениям):curl -L https://npmjs.org/install.sh | shэто позволит обнаружить узел 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опять же, теперь он должен работать.
изменение версий npm на ОС на базе linux еще не является прямым командным процессом. Я сделал следующее, чтобы вернуться к старой версии НПМ. Это должно работать, чтобы получить любую версию НПМ работает. Сначала установите версию npm, которую вы хотите использовать:
sudo npm install -g [email protected]удалите ссылку sym в /usr / local / bin/
sudo rm /usr/local/bin/npmвоссоздайте ссылку sym, используя нужную версию npm, которую вы установили
sudo ln -s /usr/bin/[email protected] /usr/local/bin/npm
nvm теперь имеет команду для обновления npm. Это
nvm install-latest-npmилиnpm install --latest-npm.
npm install [email protected] -g npm install [email protected] -g
глядя на www.npmjs.com/install.sh я обнаружил, что есть способ установить определенную версию, установив переменную окружения
export npm_install="2.14.14"затем запустите скрипт загрузки, как описано в npmjs.com:
curl -L https://www.npmjs.com/install.sh | shЕсли вы опустите параметр npm_install переменная, затем она установит версию, которую они отметили как последний
в windows, запустите терминал от имени администратора (в случае, если есть проблемы с разрешениями, как у меня было). Затем используйте конкретную версию узла (скажем, 7.8.0) по
nvm use 7.8.0затем обновите npm до нужной конкретной версии с помощью
npm install -g [email protected]
Я на 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 npm@latestи бум, я вернулся в бизнес.
небольшое изменение в инструкции выше, работает для меня. (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
Comments