Node Version Manager (NVM) - это инструмент для управления версиями Node.js. В этой статье мы подробно рассмотрим все команды и параметры, доступные в NVM.
Основные команды NVM
nvm --help
- Показать справочное сообщение.nvm --no-colors
- Отключить цветной вывод.nvm --version
- Показать установленную версию NVM.
Установка и удаление версий Node.js
Установка
Команда nvm install [
позволяет скачать и установить указанную версию Node.js. Если версия не указана, используется файл .nvmrc, если он доступен.
-s
- Пропустить загрузку бинарного файла, установить только из исходников.-b
- Пропустить загрузку исходников, установить только из бинарного файла.--reinstall-packages-from=
- При установке переустановить пакеты, установленные в указанной версии Node.js.--lts
- Устанавливать только версии с долгосрочной поддержкой (LTS).--lts=
- Устанавливать только версии для конкретной линии LTS.--skip-default-packages
- Пропустить файл default-packages, если он существует.--latest-npm
- После установки попытаться обновить npm до последней рабочей версии.--no-progress
- Отключить индикатор прогресса при загрузке.--alias=
- После установки установить указанный псевдоним для версии.--default
- После установки установить версию по умолчанию.
Удаление
Команда nvm uninstall
позволяет удалить указанную версию Node.js.
--lts
- Удалить версию, используя автоматический псевдоним LTS.--lts=
- Удалить версию, используя автоматический псевдоним для указанной линии LTS.
Использование версий Node.js
Использование
Команда nvm use [
изменяет PATH для использования указанной версии Node.js. Если версия не указана, используется файл .nvmrc, если он доступен.
--silent
- Отключить вывод stdout/stderr.--lts
- Использовать автоматический псевдоним LTS.--lts=
- Использовать автоматический псевдоним для указанной линии LTS.
Выполнение команд
Команда nvm exec [
позволяет выполнить указанную команду с использованием указанной версии Node.js.
--silent
- Отключить вывод stdout/stderr.--lts
- Использовать автоматический псевдоним LTS.--lts=
- Использовать автоматический псевдоним для указанной линии LTS.
Запуск скриптов
Команда nvm run [
позволяет запустить Node.js с указанными аргументами.
--silent
- Отключить вывод stdout/stderr.--lts
- Использовать автоматический псевдоним LTS.--lts=
- Использовать автоматический псевдоним для указанной линии LTS.
Просмотр версий Node.js
nvm current
- Показать текущую активированную версию Node.js.nvm ls [
- Показать установленные версии, соответствующие указанной версии.] nvm ls-remote [
- Показать доступные для установки удаленные версии, соответствующие указанной версии.] nvm version
- Преобразовать указанное описание в локальную версию.nvm version-remote
- Преобразовать указанное описание в удаленную версию.
Управление псевдонимами
nvm alias [
- Показать все псевдонимы, начинающиеся с указанного шаблона.] nvm alias
- Установить псевдоним с указанным именем для указанной версии.nvm unalias
- Удалить псевдоним с указанным именем.
Дополнительные команды
nvm install-latest-npm
- Попытаться обновить npm до последней рабочей версии на текущей версии Node.js.nvm reinstall-packages
- Переустановить глобальные пакеты npm из указанной версии в текущую версию.nvm unload
- Выгрузить NVM из оболочки.nvm which [current |
- Показать путь к установленной версии Node.js.] nvm cache dir
- Показать путь к каталогу кеша NVM.nvm cache clear
- Очистить каталог кеша NVM.nvm set-colors [
- Установить пять цветов текста с использованием формата "yMeBg".]
Примеры использования
nvm install 8.0.0
- Установить конкретную версию Node.js.nvm use 8.0
- Использовать последнюю доступную версию 8.0.x.nvm run 6.10.3 app.js
- Запустить app.js с использованием Node.js версии 6.10.3.nvm exec 4.8.3 node app.js
- Выполнить командуnode app.js
с использованием Node.js версии 4.8.3.nvm alias default 8.1.0
- Установить версию 8.1.0 по умолчанию для оболочки.nvm alias default node
- Всегда использовать последнюю доступную версию Node.js по умолчанию для оболочки.nvm install node
- Установить последнюю доступную версию Node.js.nvm use node
- Использовать последнюю версию Node.js.nvm install --lts
- Установить последнюю версию с долгосрочной поддержкой (LTS).nvm use --lts
- Использовать последнюю версию с долгосрочной поддержкой (LTS).nvm set-colors cgYmW
- Установить цвета текста на cyan, green, bold yellow, magenta и white.
Для удаления NVM просто удалите каталог $NVM_DIR
(обычно ~/.nvm
).
Установка и обновление
Скрипт установки и обновления
Для установки или обновления NVM, выполните следующий скрипт:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
Этот скрипт клонирует репозиторий NVM в ~/.nvm
и добавляет строки исходного кода в соответствующий профильный файл (~/.bash_profile
, ~/.zshrc
, ~/.profile
или ~/.bashrc
).
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
Дополнительные заметки
- Если переменная окружения
$XDG_CONFIG_HOME
присутствует, файлы NVM будут размещены там. - Вы можете добавить
--no-use
в конец скрипта, чтобы отложить использование NVM до тех пор, пока вы не выполните командуnvm use
вручную. - Вы можете настроить источник установки, каталог, профиль и версию, используя переменные
NVM_SOURCE
,NVM_DIR
,PROFILE
иNODE_VERSION
. - Установщик может использовать
git
,curl
илиwget
для загрузки NVM, в зависимости от доступности. - Вы можете указать установщику не изменять конфигурацию оболочки, установив
PROFILE=/dev/null
перед запуском скриптаinstall.sh
.
Устранение неполадок на Linux
Если после выполнения скрипта установки вы получаете сообщение nvm: command not found
, просто закройте текущий терминал, откройте новый и попробуйте снова.
Альтернативно, вы можете выполнить следующие команды для различных оболочек:
bash
:source ~/.bashrc
zsh
:source ~/.zshrc
ksh
:. ~/.profile
Устранение неполадок на macOS
С версии OS X 10.9, /usr/bin/git
предустановлен инструментами командной строки Xcode, что означает, что мы не можем правильно определить, установлен ли Git. Вам нужно вручную установить инструменты командной строки Xcode перед запуском скрипта установки.
Если после выполнения скрипта установки вы получаете сообщение nvm: command not found
, одна из следующих причин может быть причиной:
- С версии macOS 10.15, оболочка по умолчанию -
zsh
, и NVM будет искать.zshrc
для обновления. Создайте его с помощьюtouch ~/.zshrc
и снова выполните скрипт установки.
Использование
Для загрузки, компиляции и установки последнего релиза Node.js выполните следующую команду:
nvm install node
Для установки конкретной версии Node.js выполните следующую команду:
nvm install
Переменные окружения
Вы можете настроить NVM с помощью следующих переменных окружения:
NVM_DIR
- Каталог, в который установлен NVM.PROFILE
- Профильный файл для добавления строк исходного кода.NODE_VERSION
- Версия Node.js для установки.
Автодополнение Bash
NVM поддерживает автодополнение команд в оболочке Bash. Для включения автодополнения добавьте следующую строку в ваш профильный файл:
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Совместимость
NVM может столкнуться с проблемами, если у вас установлены нестандартные настройки. Следующие настройки известны как вызывающие проблемы:
- В файле
~/.npmrc
:
prefix='some/path'
$NPM_CONFIG_PREFIX
$PREFIX
set -e
Установка NVM на Alpine Linux
Для обеспечения наилучшей производительности NVM загружает и устанавливает предварительно скомпилированные бинарные файлы для Node.js и npm. Однако Alpine Linux использует другую C/C++ библиотеку, что делает бинарные файлы несовместимыми. Для установки NVM на Alpine Linux выполните следующие команды:
Alpine Linux 3.13+
apk add -U curl bash ca-certificates openssl ncurses coreutils python3 make gcc g++ libgcc linux-headers grep util-linux binutils findutils
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
Alpine Linux 3.5 - 3.12
apk add -U curl bash ca-certificates openssl ncurses coreutils python2 make gcc g++ libgcc linux-headers grep util-linux binutils findutils
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
Удаление NVM
Для удаления NVM просто удалите каталог $NVM_DIR
(обычно ~/.nvm
).
Лицензия
См. LICENSE.md.
Авторские права
Авторские права принадлежат OpenJS Foundation и участникам проекта NVM. Все права защищены. Node.js является товарным знаком Joyent, Inc. и используется с разрешения.