Установка и использование NVM на Ubuntu 22.04

Что такое NVM
NVM (Node Version Manager) — утилита командной строки для установки и переключения между несколькими версиями Node.js. Коротко: она хранит версии в каталоге пользователя и меняет окружение на лету, что удобно при работе над разными проектами.
Ключевая идея: одна машина — много окружений. NVM позволяет каждому проекту использовать свою версию Node без конфликтов.
Требования
- Сервер или рабочая машина с Ubuntu 22.04.
- Доступ с правами пользователя, который может устанавливать пакеты (root или sudo).
Установка NVM
В официальном репозитории Ubuntu NVM по умолчанию отсутствует, поэтому установку удобнее выполнять через скрипт установки nvm-sh.
Сначала установите зависимые утилиты curl и gnupg2:
apt-get install curl gnupg2 -yЗатем загрузите и выполните официальный скрипт установки NVM:
curl https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bashСкрипт добавит необходимые настройки в ваш файл ~/.bashrc (или аналогичный shell-конфиг). После установки вы увидите инструкции перейти в новый сеанс терминала или выполнить команды для немедленной активации.
=> Если вы устанавливали глобальные модули в системный Node и хотите их удалить, выполните:
$ nvm use system
$ npm uninstall -g a_module
=> Закройте и откройте терминал, чтобы начать использовать nvm, или загрузите его сейчас следующими командами:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # Загружает nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # Загружает автодополнение nvmАктивируйте изменения в текущем сеансе:
source ~/.bashrcПроверьте, что nvm установлен:
nvm --versionПример ожидаемого вывода (версия может отличаться):
0.39.1Важно: если вы используете zsh или другой shell, убедитесь, что скрипт добавил конфигурацию в соответствующий файл (например, ~/.zshrc).
Установка Node.js через NVM
После установки NVM можно быстро установить любые версии Node.js.
Установка последней доступной версии Node:
nvm install nodeОжидаемый вывод (пример):
Downloading and installing node v18.9.1...
Downloading https://nodejs.org/dist/v18.9.1/node-v18.9.1-linux-x64.tar.xz...
####################################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v18.9.1 (npm v8.19.1)
Creating default alias: default -> node (-> v18.9.1)Проверка установленной версии:
node --versionПример вывода:
v18.9.1Установка последней LTS-версии:
nvm install node --ltsУстановка конкретной версии, например 12.17.0:
nvm install 12.17.0Проверка текущей активной версии:
node --versionУправление версиями Node.js
Список установленных версий:
nvm lsПример вывода:
-> v12.17.0
v18.9.1
system
default -> node (-> v18.9.1)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.9.1) (default)
stable -> 18.9 (-> v18.9.1) (default)
lts/* -> lts/gallium (-> 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.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.20.1 (-> N/A)
lts/gallium -> v16.17.1 (-> N/A)Показать все доступные для установки версии на удалённом репозитории:
nvm ls-remoteСделать активной конкретную версию (например 12.17.0):
nvm use 12.17.0Выполнение Node.js приложения с конкретной версией без переключения по умолчанию:
nvm run v12.17.0 app.jsУдаление версии:
nvm uninstall v12.17.0Чтобы узнать версию, назначенную по умолчанию для текущего пользователя:
nvm run default --versionБыстрые советы и лучшие практики
- Проекты: фиксируйте требуемую версию Node в файле .nvmrc (например, строка с “12.17.0”). Тогда команда nvm use автоматически переключит окружение.
- CI/CD: в конвейерах устанавливайте nvm и выполняйте nvm install –lts или nvm install $(cat .nvmrc) для воспроизводимости.
- Глобальные пакеты: глобальные npm-пакеты инсталлируются в контексте выбранной версии Node. При переключении версии глобальные пакеты будут другими.
Отладка и частые ошибки
Важно: если после установки nvm команды nvm не доступны, проверьте, были ли добавлены строки в правильный файл конфигурации shell (~/.bashrc, ~/.profile, ~/.zshrc). Запустите source ~/.bashrc или перезапустите терминал.
Если npm или node указывают на системную версию, выполните:
nvm use nodeЕсли автодополнение не работает — убедитесь, что файл $NVM_DIR/bash_completion существует и загружен.
Альтернативы и когда NVM не подходит
- n (npm package): проще для единичной установки, но менее гибок для множественных версий в одном профиле пользователя.
- asdf: мультиверсионный менеджер для многих языков (Node, Python, Ruby и т.д.) — полезен в полилингвальных окружениях.
Когда NVM не подходит:
- Если нужно управлять версиями Node для всех пользователей на сервере — лучше использовать системные пакеты или контейнеризацию.
- На серверах с политиками безопасности, запрещающими выполнение удалённых скриптов — скрипт установки нужно проверять и применять вручную.
Контроль соответствия окружения (чеклист)
- NVM установлен и доступен: nvm –version
- Установлена требуемая версия Node: nvm ls
- .nvmrc присутствует в репозитории (если нужно совместимость)
- CI настроен на установку NVM и нужной версии Node
Краткая шпаргалка (cheat sheet)
- Установить NVM: curl https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
- Установить последнюю Node: nvm install node
- Установить LTS: nvm install –lts
- Переключиться: nvm use 14.17.0
- Список установленных: nvm ls
- Список доступных: nvm ls-remote
- Удалить версию: nvm uninstall 14.17.0
Совместимость и рекомендации по миграции
- Перед обновлением Node в проекте проверьте файл package.json и тестовый набор. Мажорные обновления Node иногда несут несовместимости.
- Для безопасной миграции: подготовьте ветку с обновлением Node, выполните npm ci и запустите все тесты, затем прогоните приложение локально.
Заключение
В этой инструкции показан базовый и практический набор приёмов для установки и использования NVM на Ubuntu 22.04. NVM экономит время при работе с разными проектами и делает управление версиями Node простым и предсказуемым. Резюмируем:
- Установите NVM через официальный скрипт.
- Используйте .nvmrc и CI-процессы для воспроизводимости.
- Проверяйте совместимость приложений при обновлении Node.
Важно: для серверов с несколькими пользователями рассмотрите использование контейнеров или системных пакетов, если нужно единообразное системное окружение.
Критерии приёмки
- NVM доступен в интерактивной оболочке (nvm –version возвращает номер).
- Проект запускается на нужной версии Node без ручных правок путей.
Сводка
NVM — удобный инструмент для локального управления версиями Node и незаменим при одновременной работе над проектами с разными требованиями к Node.js.
Похожие материалы
Warhammer: Total War 3 не запускается — как исправить
Исправить PCR7 и включить шифрование в Windows 11
Как вернуть значок «Параметры» в Windows
Отключение Quick Settings в Windows 11
Сделать полосы прокрутки шире в Windows 10 и 11