Только за последние 6 месяцев Node.js перешел с v0.12.x на v5.1.x. За этот период было выпущено более 35 выпусков, в каждом из которых добавлялись важные функции или исправления ошибок. Важной частью этого скачка стало слияние io.js с Node, разработка которого велась гораздо быстрее.
Установка Node - не самый простой процесс, по крайней мере, неудобно постоянно удалять и переустанавливать его каждые несколько дней. Это стало большой проблемой для разработчиков, которым нужно было поддерживать несколько версий Node для своих библиотек, и для пользователей, которым приходилось переключаться между версиями для другого программного обеспечения.
Например, популярная платформа для ведения блогов Ghost долгое время поддерживала только версии v0.10.0 и v0.12.0. Поэтому, если вы выполняли какую-либо разработку с версиями io.js или v1.0.x +, вам придется переключаться между версиями Node / io.js, чтобы использовать Ghost.
Между быстро меняющимися выпусками и необходимостью поддерживать несколько версий Node должен быть более простой способ переключения между версиями. И здесь на помощь приходит NVM.
Что такое NVM?
Node Version Manager (NVM) - это утилита, которая поможет вам быстро установить и переключаться между версиями Node. С NVM нет необходимости вручную устанавливать и удалять версии, как вы это делали раньше.
Кроме того, каждый раз, когда вы устанавливаете новую версию Node.js, вы также получаете с ней соответствующий пакет npm , поэтому вам не нужно беспокоиться о совместимости.
Каждая устанавливаемая вами версия остается в системе, и к ней можно получить доступ в любое время. Поэтому, если вы поддерживаете созданную вами библиотеку, вы можете легко вернуться к любой версии Node и протестировать ее или создать патч.
NVM - это всего лишь несколько сценариев bash, которые помогут вам установить, удалить и связать различные двоичные файлы Node. Поскольку он написан как сценарий bash, он доступен только для OSX и Linux. Это означает, что, к сожалению, он изначально не совместим с Windows. Однако есть несколько альтернатив, имитирующих функциональность NVM: nvmw и nvm-windows .
Установка NVM
Самый простой способ установить NVM - запустить следующую команду с вашего терминала. Но сначала вам нужно установить несколько зависимостей, если у вас их еще нет.
Linux:
$ sudo apt-get update
$ sudo apt-get install build-essential libssl-dev
В OSX единственная зависимость, которая вам нужна, - это инструменты разработчика командной строки. Выполните следующую команду и нажмите «Установить».
OSX:
$ xcode-select --install
Наконец, вы можете установить NVM с помощью:
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
Или, используя альтернативу wget
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
Эти команды загрузят и запустят сценарий установки прямо из репозитория Github.
По сути, этот сценарий установки загрузит репозиторий NVM в ~/.nvm
и
добавит source
в ваш профиль оболочки ( ~/.bash_profile
, ~/.zshrc
или ~/.profile
).
В прошлом у меня были проблемы в некоторых системах, где source
строка
не добавлялась должным образом в .bash_profile
, поэтому мне
приходилось активировать NVM вручную каждый раз, когда я открывал
оболочку, так что остерегайтесь этой проблемы. Вам многим нужно открыть
.bash_profile
и вручную исправить.
Как использовать NVM
Чтобы установить новую версию Node с помощью NVM, просто выполните
команду install
:
$ nvm install 5.1
Будет загружена и установлена последняя версия v5.1.x. Чтобы активировать эту версию, вы можете сделать это:
$ nvm use 5.1
Теперь все вызовы node
будут направлены на версию v5.1.x.
В качестве альтернативы, если вы просто хотите сделать разовый вызов, а
не полностью переключать двоичные файлы, вы можете просто использовать
команду run
:
$ nvm run 5.1 index.js
Это запустит index.js
как Node v5.1.x, но команда node
прежнему
будет связана с той версией, которая была до nvm run
.
Не знаете, какие версии вы уже установили? Используйте команду ls
чтобы получить список всех доступных вам:
$ nvm ls
v0.12.2
iojs-v2.0.0
iojs-v3.3.1
v4.1.2
-> v5.1.0
system
default -> v4.1.2
node -> stable (-> v5.1.0) (default)
stable -> 5.1 (-> v5.1.0) (default)
iojs -> iojs-v3.3 (-> iojs-v3.3.1) (default)
И, наконец, как только вы узнаете, что закончили работу с версией и больше не нуждаетесь в ней, ее легко удалить:
$ nvm uninstall 5.1
Для получения дополнительной информации ознакомьтесь с файлом readme для NVM , в котором есть более полный список команд.