NodeJS – управление версиями

03 November 2014 #vps#ubuntu#node.js#osx

В Ruby есть два основных способа управлять активными версиями языка: rbenv и rvm. Их использование позволяет значительно упрощать установку/обновление Ruby на локальную машину и одновременно использовать несколько версий языка в различных проектах.

Как оказалось, в NodeJS есть нечто подобное.

N

N – Node version management. Для установки требует, чтобы на машине уже стояла NodeJS с пакетным менеджером npm. А дальше все просто:

$ npm install -g n

Для установки нескольких версий NodeJS используются команды:

$ n 0.8.14
$ n 0.8.17
$ n 0.9.6

Для переключения между ними запускаем менеджер и выбираем из списка требуемую версию:

$ n

  0.8.14
ο 0.8.17
  0.9.6

Для удаления используется команда rm:

$ n rm 0.9.4 v0.10.0

Преимущества данного менеджера версий в том, что устанавливаются бинарные пакеты, то есть не нужно на локальной машине ничего компилировать. Недостатком же является то, что для того, чтобы его использовать, нужно предварительно установить NodeJS.

NVM

NVM – Node Version Manager. Для установки требуется наличия на локальной машине GIT и C++ компилятора. На OSX для этого достаточно установить XCode, а для Ubuntu установим два пакета:

$ sudo apt-get install build-essential libssl-dev

Теперь устанавливаем сам nvm:

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.17.3/install.sh | bash

или с помощью wget:

$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.17.3/install.sh | bash

По завершении данной операции рекомендуют закрыть окно терминала и открыть его вновь. Но вполне достаточно провести чтение файла конфигурации bash/zsh:

$ source ~/.zshrc

После чего становиться доступной для работы команда nvm. Для установки последней стабильной версии NodeJS используется команда:

$ nvm install 0.10

или же используя алиас:

$ nvm install stable

Для просмотра установленных версий используется команда:

$ nvm ls

Для просмотра доступных для установки версий:

$ nvm ls-remote

Чтобы использовать определенную версию NodeJS по умолчанию, задаем алиас:

$ nvm alias default stable

Для того, чтобы запустить проект под определенной версией NodeJS:

$ nvm exec 0.9 node --version

Преимущества nvm в том, что для его использования на компьютере достаточно иметь только GIT и C++, что в случае с OSX или Linux не представляет проблем. С его помощью очень просто управлять установленными версиями NodeJS.

Недостатком является то, что как и в N, нет возможности явно указать, какую версию NodeJS использовать в определенном проекте.