5

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

15

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

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

5 ответ(ов)

1

Да, npm может установить сам себя. Для этого просто используйте команду npm install с глобальным флагом -g, чтобы перезаписать установленную в данный момент версию npm.

Вот пример команды:

npm install [email protected] -g

Где x.x.x — это версия, которую вы хотите установить. Например:

npm install [email protected] -g

Не забудьте заменить x.x.x на нужную вам версию.

0

Для Node.js 0.4 или ниже: nvm не обрабатывает npm.

Если вам нужно установить Node.js 0.4.x (от которого по-прежнему зависят многие пакеты) и использовать NPM, вы всё ещё можете использовать npm 1.0.x.

Сначала установите Node.js 0.6.x (который приходит с npm 1.1.x) и установите nvm с помощью npm:

npm install nvm
. ~/nvm/nvm.sh

Теперь установите Node.js 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.js 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, всё должно заработать.

0

Если вы на Windows и у вас возникли проблемы с установкой или обновлением npm (например, ошибки о том, что файлы мешают), попробуйте следующие шаги:

  1. Откройте командную строку и перейдите в папку с вашей версией Node.js:

    cd %APPDATA%\nvm\v8.10.0  # или другую версию, которую вы используете
    
  2. Переименуйте папки npm и npm.cmd, чтобы освободить место для новой установки:

    mv npm npm-old
    mv npm.cmd npm-old.cmd
    
  3. Перейдите в папку node_modules:

    cd node_modules\
    
  4. Переименуйте npm в npm-old:

    mv npm npm-old
    
  5. Затем перейдите в папку npm-old/bin и выполните команду для установки последней версии npm:

    cd npm-old\bin
    node npm-cli.js i -g npm@latest
    
  6. Вернитесь в папку с вашей версией Node.js:

    cd %APPDATA%\nvm\v8.10.0  # или другую версию, которую вы используете
    
  7. Удалите старые папки:

    rm npm-old
    rm npm-old.cmd
    cd node_modules\
    rm -rf npm-old
    

И вуаля! Теперь ваш npm снова работает.

0

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

0

В Windows запустите терминал от имени администратора (в случае, если возникли проблемы с разрешениями, как у меня). Затем используйте конкретную версию Node.js (например, 7.8.0) с помощью команды:

nvm use 7.8.0

После этого обновите npm до нужной вам версии с помощью команды:

npm install -g [email protected]
Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь