Node Version Manager (NVM): как установить и использовать (пошаговое руководство)
Как оказалось, правильная установка и использование NVM в ОС Windows часто вызывает некоторые вопросы из-за того, что в официальный репозиторий этого инструмента. В связи с этим в этой статье я расскажу, как пошагово установить NVM на свой компьютер более оптимальным способом (пользователям MacOS это читать не обязательно).
NVM: В чем смысл?
Диспетчер версий узла (NVM) – это инструмент, который позволяет вам иметь несколько версий Node.js на вашем устройстве, быстро переключаться между ними и управлять им из интерфейса командной строки (CLI). .
Зачем это нужно? Дело в том, что разные приложения, с которыми вы работаете, могут быть реализованы на разных версиях Node.js. На практике это обычно указывается в файле .nvmrc, который фиксируется вместе с вашим проектом и содержит одну строку с версией Node.js, используемой для этого проекта. Однако запуск приложения в другой среде может не дать ожидаемого результата или привести к ошибкам.
Можно ли обойтись без него? Случаи, когда NVM является просто незаменимой вещью, очень часто встречаются на рабочем месте. Приведу небольшой пример из моего прошлого опыта. Придя некоторое время назад на работу в новую компанию, мне нужно было быстро разобраться в одном из их прошлых проектов. В то время казалось, что мы используем Node.js версии 14.16.0, но для репозитория проекта требуется версия 10.x. Конечно, если бы я не знал о NVM, мне бы пришлось только переустанавливать с одной версии на другую. И так для каждого нового проекта! Определенно, это было бы большой головной болью и пустой тратой рабочего времени.
Более того, когда вы работаете в большой команде, редко все используют одну и ту же версию Node.js.
Как правильно установить NVM?
Что ж, приступим к установке NVM. Попутно укажу на неточности в официальном репозитории, о которых я упоминал в самом начале этой статьи. Здесь я лишь подчеркиваю, что дальнейшее объяснение основано на примере 11-й версии ОС Windows.
- Для начала откройте терминальное приложение на своем компьютере. Для Windows я рекомендую использовать Git Bash, так как некоторые команды могут быть недоступны в Windows PowerShell. В идеале используйте встроенный терминал Windows, в который нужно добавить Git Bash.
Убедитесь, что NVM еще не установлен на вашем компьютере. Просто введите команду:
javascript nvm -v
Если это верно, то вы увидите следующий ответ:
2. Перейдите на страницу релизов NVM для Windows и выберите последнюю версию (самую верхнюю в списке), например, сейчас это 1.1.10. Затем загрузите файл nvm-setup.exe:
3. Я предполагаю, что у большинства из вас к этому моменту уже установлен Node.js (если еще нет, то NVM сделает это за вас чуть позже). А если мы обратимся к официальному руководству, то там сказано, что перед установкой NVM нам необходимо удалить все существующие версии Node.js. :
Однако мы не последуем этому совету. Вместо этого запустите загруженный установочный файл. Вам будет предложено согласиться с условиями использования проекта (выберите вариант ‘Я принимаю соглашение’), затем установщик спросит, куда установить NVM (нажмите кнопку Далее). кнопку ).
==А теперь внимание!==
Вам будет предложено указать, где установить символическую ссылку Node.js. Это очередная неточность официального руководства, потому что путь по умолчанию C:Program Filesnodejs неверен:
Я настоятельно рекомендую изменить этот путь к любому другому, не содержащему пробелов. Например, я указал следующую папку в домашнем каталоге пользователя:
В следующем окне нажмите кнопку Установить ‘ кнопку. Сразу после установки NVM распознает, что у вас уже установлен Node.js, и задает следующий вопрос:

Выберите вариант Да, и процесс установки завершится.
4. Теперь перезапустите терминальное приложение и убедитесь, что NVM установлен:
javascript nvm -v
Если на предыдущем шаге все прошло успешно, вы получите следующий ответ:

Использование
- Во-первых, убедитесь, что NVM включен:
javascript nvm включен
2. Проверьте активную версию Node.js:
javascript текущий nvm
Ожидаемый ответ (в вашем случае это может быть другая версия):
3. Загрузите последнюю версию Node.js:
javascript установить последнюю версию nvm
Ожидаемый ответ (в вашем случае это может быть другая версия):
Также я могу загрузить определенную версию Node.js , например, 14.18.0:
javascript nvm установить 14.18.0
Если вы хотите удалить для конкретной версии используйте команду:
javascript удалить nvm
4. Откройте список всех версий, установленных на вашем компьютере:
javascript список NVM

- Переключиться на использование указанной версии:
javascript nvm использовать 14.18.0

Полный список команд также можно увидеть в официальном репозитории.
Ну, на этом я заканчиваю. Я очень надеюсь, что эта статья поможет вам правильно установить и использовать этот замечательный и очень полезный инструмент. Если у вас есть какие-либо вопросы, напишите их в комментариях ниже.
Как установить и использовать NVM в Windows?
NVM означает Node Version Manager, который представляет собой инструмент, используемый для установки Node.js и использования версий Node.js по вашему выбору. Это помогает переключаться между версиями Node.js, а также позволяет работать с несколькими версиями NPM. Он прост в использовании и работает с любой оболочкой POSIX, такой как bash, sh и т. д. Он поддерживает такие операционные системы, как Linux, macOS, Windows. В этой статье мы увидим, как установить NVM в Windows.
Установка NVM в Windows
В этой статье мы узнаем, как установить NVM для Windows. Выполните следующие шаги:
Шаг 1: Загрузите nvm-setup.zip из таблицы ресурсов, расположенной здесь. Разархивируйте/извлеките содержимое (Zip-файл должен находиться в папке «Загрузки» или в месте, которое вы выбрали для загрузки), распаковав его в nvm-setup.

Шаг 2: В папке nvm-setup дважды щелкните файл с именем nvm-setup.exe, как показано ниже.

Шаг 3: Выберите вариант « Я принимаю соглашение » и нажмите «Далее», чтобы продолжить установку.

Шаг 4: Теперь выберите место для установки и нажмите «Далее».

Шаг 5: Выберите папку, в которой программа установки должна создать символическую ссылку Node.js, затем нажмите «Далее».

Шаг 6: Нажмите кнопку « Установить », а после ее завершения нажмите кнопку « Готово ».


Шаг 7: Подтвердите, что NVM успешно установлена, введя следующую команду в терминале
nvm -v
Выход:
Установка Node.js в Ubuntu 20.04

Node.js — это среда выполнения JavaScript для программирования на стороне сервера. Она позволяет разработчикам создавать масштабируемый серверный функционал с помощью JavaScript, языка, который многим уже знаком по веб-разработке под браузер.
В этом обучающем модуле мы покажем вам три разных варианта установки Node.js на сервере Ubuntu 20.04:
- использование apt для установки пакета nodejs из репозитория ПО Ubuntu по умолчанию
- использование apt с альтернативным репозиторием ПО PPA для установки определенных версий пакета nodejs
- установка диспетчера nvm (Node Version Manager) и его использование для установки нескольких версий node и управления ими
Для многих пользователей будет достаточно использовать apt с репозиторием по умолчанию. Если вам требуется определенная более новая (или старая) версия Node, вам следует использовать репозиторий PPA. Если вы занимаетесь активной разработкой приложений Node, и вам нужно часто переключаться между версиями node , используйте метод nvm .
Предварительные требования
Для целей этого обучающего модуля предполагается, что вы используете ОС Ubuntu 20.04. Для начала вам потребуется учетная запись пользователя без привилегий root с привилегиями sudo. Чтобы создать такую учетную запись следуйте указаниям обучающего модуля «Начальная настройка сервера Ubuntu 20.04».
Вариант 1 — Установка Node.js с помощью Apt из репозиториев по умолчанию
В репозиториях Ubuntu 20.04 по умолчанию содержится версия Node.js, обеспечивающая согласованную работу в разных системах. На момент составления этого обучающего модуля в репозиториях хранится версия 10.19. Это не самая последняя версия, но она должна быть стабильной и подходить для небольших экспериментов с языком.
Для получения этой версии можно использовать диспетчер пакетов apt . Обновите указатель локальных пакетов с помощью следующей команды:
Выполните установку Node.js:
Проверьте, что установка выполнена успешно, запросив у node номер версии:
Outputv10.19.0
Если пакет из репозитория отвечает вашим потребностям, для начала работы с Node.js ничего больше не потребуется. В большинстве случаев также нужно установить npm , диспетчер пакетов Node.js. Для этого установите пакет npm с помощью apt :
Это позволит вам устанавливать модули и пакеты для использования с Node.js.
Вы успешно установили Node.js и npm , используя apt и репозитории ПО Ubuntu по умолчанию. В следующем разделе мы покажем, как использовать альтернативный репозиторий для установки разных версий Node.js.
Вариант 2 — Установка Node.js с помощью Apt через архив NodeSource PPA
Для установки другой версии Node.js вы можете использовать архив PPA (архив персональных пакетов), обслуживаемый NodeSource. Через PPA можно установить другие версии Node.js, кроме доступных в официальных репозиториях Ubuntu. На момент составления этого обучающего модуля доступны версии Node.js v10, v12, v13 и v14.
Вначале установим PPA для получения доступа к его пакетам. Используйте в домашнем каталоге команду curl для получения скрипта установки предпочитаемой версии. Замените 14.x предпочитаемым номером версии (если он отличается).
Дополнительную информацию о доступных версиях можно найти в документации по NodeSource.
Просмотрите содержимое загруженного скрипта в nano (или другом предпочитаемом текстовом редакторе):
Убедившись в безопасности запуска скрипта, закройте редактор и запустите скрипт с привилегиями sudo :
Архив PPA будет добавлен в вашу конфигурацию, и кэш локальных пакетов автоматически обновится. Теперь вы можете установить пакет Node.js, как описывалось в предыдущем разделе:
Убедитесь в установке новой версии, запустив node с флагом версии -v :
Outputv14.2.0
Пакет NodeSource nodejs содержит двоичный код node и npm , так что не нужно устанавливать npm отдельно.
Вы успешно установили Node.js и npm , используя apt и архив NodeSource PPA. В следующем разделе мы покажем, как использовать диспетчер версий Node Version Manager для установки нескольких версий Node.js и управления ими.
Вариант 3 — Установка Node с помощью Node Version Manager
Еще одним способом установки Node.js, который является достаточно гибким, является использование nvm, или Node Version Manager. Это программное обеспечение позволяет устанавливать и поддерживать несколько разных независимых версий Node.js и связанных с ними пакетов Node.
Чтобы установить NVM на ваш сервер Ubuntu 20.04, откройте страницу проекта на GitHub. Скопируйте команду curl из файла README, отображаемого на главной странице. Она позволит получить самую последнюю версию скрипта установки.
Прежде чем передавать команду в bash , рекомендуется проверить скрипт, чтобы убедиться, что он не делает ничего, с чем вы не согласны. Вы можете сделать это, удалив сегмент | bash в конце команды curl :
-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh
Проверьте и убедитесь, что вы не возражаете против изменений, которые вносит скрипт. Если вас удовлетворит результат, запустите команду еще раз с добавлением | bash в конце. URL-адрес, который вы используете, будет меняться в зависимости от последней версии NVM, но в настоящий момент скрипт можно загрузить и запустить с помощью следующей команды:
Она устанавливает скрипт nvm для вашей учетной записи. Для его использования необходимо сначала получить ваш файл .bashrc :
Теперь вы можете спросить у NVM, какие версии Node доступны:
Output. . . v12.13.0 (LTS: Erbium) v12.13.1 (LTS: Erbium) v12.14.0 (LTS: Erbium) v12.14.1 (LTS: Erbium) v12.15.0 (LTS: Erbium) v12.16.0 (LTS: Erbium) v12.16.1 (LTS: Erbium) v12.16.2 (LTS: Erbium) v12.16.3 (Latest LTS: Erbium) v13.0.0 v13.0.1 v13.1.0 v13.2.0 v13.3.0 v13.4.0 v13.5.0 v13.6.0 v13.7.0 v13.8.0 v13.9.0 v13.10.0 v13.10.1 v13.11.0 v13.12.0 v13.13.0 v13.14.0 v14.0.0 v14.1.0 v14.2.0
Это очень длинный список! Вы можете установить версию Node, введя любую версию релиза, которую вы видите. Например, для получения версии 13.6.0 воспользуйтесь следующей командой:
Вы можете увидеть установленные вами различные версии с помощью следующей команды:
nvm list
Output-> v13.6.0 default -> v13.6.0 node -> stable (-> v13.6.0) (default) stable -> 13.6 (-> v13.6.0) (default) . . .
Она отображает текущую активную версию на первой строке ( -> v13.6.0 ), за которой следуют псевдонимы и версии, на которые указывают эти псевдонимы.
Примечание. Если у вас также имеется версия Node.js, установленная с помощью apt , здесь вы сможете увидеть системную запись. Вы всегда можете активировать установленную системой версию Node с помощью команды nvm use system .
Также вы увидите псевдонимы для различных релизов Node с длительной поддержкой (LTS):
Output. . . lts/* -> lts/erbium (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.20.1 (-> N/A) lts/erbium -> v12.16.3 (-> N/A)
Мы можем установить релиз на основе этих псевдонимов. Например, для установки последней версии с долгосрочной поддержкой, erbium , запустите следующую команду:
OutputDownloading and installing node v12.16.3. . . . Now using node v12.16.3 (npm v6.14.4)
Вы можете переключаться между установленными версиями с помощью nvm use :
nvm use v13.6.0
Now using node v13.6.0 (npm v6.13.4)
Вы можете проверить, что установка выполнена успешно, с помощью того же метода, использованного в других разделах. Введите следующую команду:
Outputv13.6.0
Корректная версия Node установлена на нашем компьютере, как мы и ожидали. Совместимая версия npm также доступна.
Заключение
Существует несколько способов запустить и начать использование Node.js на сервере Ubuntu 20.04. Наиболее подходящий метод из вышеперечисленных определяется в зависимости от обстоятельств. Хотя использование упакованной версии из репозитория Ubuntu — самый простой метод, использование nvm или архива NodeSource PPA дает дополнительную гибкость.
Дополнительную информацию о программировании с помощью Node.js можно найти в нашей серии обучающих материалов «Программирование на Node.js».
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
Установка нескольких версий Node.js с помощью nvm
При разработке приложений Node.js вы можете столкнуться с ситуациями, когда вам нужно установить несколько версий Node. Это может произойти, если у вас есть несколько проектов и у них разные требования, или у вас есть развертываемое приложение, которое должно быть совместимо с разными версиями Node. Без хорошего инструмента это означало бы много работы и усилий, чтобы установить разные версии вручную и основать проект на конкретной версии. К счастью, есть лучший способ!
Представляем nvm
nvm означает Node Version Manager. Как следует из названия, это помогает вам легко управлять различными версиями Node и переключаться между ними. Он предоставляет интерфейс командной строки, где вы можете устанавливать разные версии одной командой, устанавливать настройки по умолчанию, переключаться между ними и многое другое.
Поддержка ОС
nvm поддерживает как Linux, так и macOS, но это не значит, что пользователи Windows должны пропустить. Есть второй проект под названием nvm-windows, который предлагает пользователям Windows возможность легко управлять средами Node. Несмотря на название, nvm-windows не является клоном nvm и не связан с ним. Однако перечисленные ниже основные команды (для установки, вывода списка и переключения между версиями) должны работать как для nvm, так и для nvm-windows.
Установка
Давайте сначала рассмотрим установку для Windows, MacOS и Linux.
Windows
Во-первых, убедитесь, что вы удалили любую версию Node.js, которая может быть в вашей системе, поскольку они могут конфликтовать с установкой. После этого скачайте последний стабильный установщик . Запустите исполняемый установщик, следуйте инструкциям, и все готово!
MacOS / Linux
Удаление предыдущих установок Node необязательно, хотя рекомендуется делать это. Есть много хороших онлайн-ресурсов о том, как вы можете это сделать ( macOS , Linux ). Также хорошо, если вы удалите все установки npm, которые у вас могут быть, поскольку они могут конфликтовать с установкой nvm. Вам также необходимо установить компилятор C ++ в вашей системе. Для macOS вы можете установить инструменты командной строки Xcode. Вы можете сделать это, выполнив следующую команду:
xcode-select --install
В Linux вы можете установить пакет build-essential, выполнив следующее (предполагается, что apt ):
sudo apt-get update sudo apt-get install build-essential
Имея необходимый компилятор C ++, вы можете установить nvm с помощью cURL или Wget. На вашем терминале запустите следующее:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
Обратите внимание, что номер версии (v0.33.8) будет меняться по мере развития проекта, поэтому стоит проверить соответствующий раздел домашней страницы проекта, чтобы найти самую последнюю версию.
Это клонирует репозиторий nvm в ~/.nvm и внесет необходимые изменения в ваш профиль bash, чтобы nvm был доступен из любой точки вашего терминала.
Вот и все, nvm установлен и готов к использованию.
Используя nvm
При правильной nvm команда nvm доступна в любом месте вашего терминала. Давайте посмотрим, как использовать его для управления версиями Node.js.
Установите несколько версий Node.js
Конечно, одна из самых важных частей nvm – это установка разных версий Node.js. Для этого nvm предоставляет nvm install . Вы можете установить определенные версии, выполнив эту команду, а затем нужную версию. Например:
nvm install 8.9.4
Запустив вышеизложенное в терминале, nvm установит Node.js версии 8.9.4. nvm следует SemVer , поэтому, если вы хотите установить, например, последний патч 8.9, вы можете сделать это, выполнив:
nvm install 8.9
Затем nvm установит Node.js версии 8.9.X, где X – самая высокая из доступных версий. На момент написания статьи это 4, поэтому в вашей системе будет установлена версия 8.9.4. Вы можете увидеть полный список доступных версий, запустив:
nvm ls-remote
Для nvm-окон это:
nvm ls available
НПМ
При установке экземпляра Node.js nvm также установит совместимую версию npm . Каждая версия Node может иметь свою версию npm, и вы можете запустить npm -v чтобы проверить, какую версию вы используете в данный момент. Установленные в глобальном масштабе пакеты npm не являются общими для разных версий Node.js. Это может привести к несовместимости. Скорее, они устанавливаются вместе с текущей версией Node в ~/.nvm/versions/node//lib/node_modules . Это дает дополнительное преимущество: пользователям не требуются права sudo для установки глобальных пакетов.
К счастью, при установке новой версии Node.js вы можете переустановить глобальные пакеты npm из определенной версии. Например:
nvm install v9.0.0 --reinstall-packages-from=8.9
Запустив вышеизложенное, nvm установит Node.js версии 9.0.0, соответствующую версию npm, и переустановит пакеты npm, которые вы установили в версии 8.9.
Чтобы помочь еще дальше, nvm имеет несколько псевдонимов, которые вы можете использовать для таргетирования версий без написания конкретной версии:
- node : это устанавливает последнюю версию Node.js
- unstable : устанавливается версия Node.js 0.11, которая является последней нестабильной версией.
Итак, чтобы установить последнюю версию Node.js, вы можете просто запустить:
nvm install latest
Вы также можете удалить любой экземпляр, который вы больше не считаете полезным, запустив:
nvm uninstall 0.11
Переключение между версиями
До сих пор мы видели, как устанавливать разные версии Node. Давайте теперь рассмотрим, как переключаться между ними. Позвольте мне сначала отметить, что когда новая версия установлена, она автоматически используется. Поэтому, если вы установите последнюю версию Node.js и сразу после этого запустите node -v , вы увидите вывод последней версии.
Для переключения между установленными версиями nvm предоставляет команду nvm use . Это работает аналогично команде установки. Итак, вы должны следовать за этим номером версии или одним из псевдонимов.
Следуя указанным выше командам установки, вы можете:
-
перейти на Node.js версии 8.9.4:
```bash nvm use 8.9.4 ```
```bash nvm use 9.3 ```
```bash nvm use node ```
```bash nvm use node --lts ```
При переключении на другую версию nvm сделает экземпляр node в вашей терминальной символической ссылке на соответствующий экземпляр Node.js.
Вы также можете создавать собственные псевдонимы помимо тех, которые поставляются с nvm. Например, запустив:
nvm alias awesome-version 8.9.4
Вы устанавливаете псевдоним с именем «awesome-version» для Node.js версии 8.9.4. Итак, если вы сейчас запустите:
nvm use awesome-version
nvm переключит node на версию 8.9.4. Вы можете удалить псевдоним, выполнив:
nvm unalias awesome-version
Вы также можете установить экземпляр по умолчанию для использования в любой оболочке, указав для версии псевдоним «по умолчанию», например:
nvm alias default node
Обратите внимание на io.js
Начиная с Node.js v4, все функции io.js были объединены в проект Node.js. io.js больше не разрабатывается.
Список установленных экземпляров
В любое время вы можете проверить, какие версии вы установили, запустив:
nvm ls
Это покажет что-то похожее на следующее:

Запись зеленого цвета со стрелкой слева – это текущая используемая версия. Под зеленым и синим списком есть список доступных псевдонимов. Если вы сейчас выполните:
nvm use node nvm ls
Он будет отображать:

Вы также можете проверить, какая текущая версия используется командой:
nvm current
Укажите версию узла на основе проекта
Менеджеры версий, такие как rbenv, позволяют вам указывать версию Ruby для каждого отдельного проекта (записывая эту версию в файл .ruby-version в вашем текущем каталоге). Это возможно с nvm в том смысле, что если вы создаете файл .nvmrc внутри проекта и указываете номер версии, вы можете nvm use каталог проекта и ввести nvm use . Затем nvm прочитает содержимое файла .nvmrc и будет использовать любую версию Node, которую вы укажете.
Если для вас действительно важно, чтобы это происходило автоматически, есть проект ( avn ), который интегрируется с nvm и предназначен для удовлетворения этой потребности.
Другие команды nvm
Существуют другие команды, которые предоставляет nvm, которые являются более продвинутыми или не очень распространенными:
-
Выполнение команды непосредственно для установленной версии без переключения переменной node :
```bash nvm run 8.9.4 --version ```
```bash nvm exec 8.9.4 node --version ```
```bash nvm which 8.9.4 ```
Вывод
nvm – отличный инструмент для любого разработчика Node.js. Это позволяет беспроблемную установку и переключение между различными версиями, экономя время на то, что действительно важно.
Благодарственное письмо Тиму Касвеллу, создателю nvm, и Кори Батлеру за поддержку nvm для Windows и, конечно же, вкладчикам этих замечательных проектов. Ваша работа высоко ценится сообществом Node.js.
А что насчет тебя? Вы используете NVM? Как ваш опыт был с этим? Хотелось бы услышать от вас в комментариях ниже.
Эта статья была рецензирована Тимом Севериеном . Спасибо всем рецензентам SitePoint за то, что сделали контент SitePoint как можно лучше!
