Управление версиями Node.js с NVM

Что такое Node.js?
Node.js — это кроссплатформенная среда выполнения JavaScript, построенная на движке V8 от Google. Она позволяет запускать JavaScript вне браузера и создавать как фронтенд-, так и бэкенд‑приложения на одном языке.
Коротко: Node.js запускает JavaScript на сервере и в инструментах разработки.
Популярные фреймворки и инструменты, использующие Node.js:
- Фронтенд: Angular, React (с инструментами сборки и CLI).
- Бэкенд: Express.js, Nest.js, Hapi.js, Meteor.js.
Почему NVM нужен
Когда у разных проектов разные требования к версии Node.js, NVM решает конфликт версий. С помощью NVM вы храните несколько версий Node.js и переключаетесь между ними быстро и локально (на уровне пользователя).
Установка NVM в Linux
Ниже показаны шаги для быстрой установки NVM в Linux через curl. Откройте терминал и выполните команду:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bashЭта команда загрузит и выполнит скрипт установки NVM. Скрипт также попытается добавить настройки в ваш профиль оболочки (файлы вроде ~/.bashrc, ~/.zshrc, ~/.profile или ~/.bash_profile) так, чтобы nvm был доступен в новых сессиях.
Файлы, которые могут быть обновлены: ~/.bash_profile, ~/.zshrc, ~/.profile или ~/.bashrc — в зависимости от вашей дистрибуции и оболочки.
Быстрая проверка после установки
Закройте текущее окно терминала и откройте новое, либо откройте новую вкладку терминала (Ctrl + Alt + T). Затем выполните:
command -v nvmЕсли установка прошла успешно, команда вернёт: nvm.
Проверить версию nvm:
nvm -vУстановка Node.js через NVM
Установить последнюю доступную версию Node.js:
nvm install nodeУстановить конкретную версию:
nvm install 14.15.4Версия 14.15.4 из примера является LTS (долгосрочная поддержка). После установки у вас может быть несколько версий Node.js одновременно.
Частые задачи
- Переключиться на установленную версию:
nvm use 14.15.4- Посмотреть список установленных версий:
nvm ls- Посмотреть все версии, доступные для установки:
nvm ls-remoteУдаление версии Node.js
Чтобы удалить конкретную версию:
nvm uninstall v14.15.4Получение справки по командам NVM
nvm -hИли смотрите документацию проекта на GitHub для полного списка команд и примеров.
Чеклист: быстрая методология установки и настройки
- Обновите пакетный менеджер и curl/wget.
- Выполните команду установки NVM.
- Откройте новый терминал.
- Проверьте
command -v nvmиnvm -v. - Установите нужные версии Node.js (
nvm install <версия>). - Выберите версию для работы
nvm use <версия>. - При необходимости добавьте
nvm alias default <версия>.
Короткий пример установки и установки версии по умолчанию:
# Установка NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
# Закройте и откройте терминал
nvm install 14.15.4
nvm alias default 14.15.4Полезная шпаргалка команд (cheat sheet)
# Проверка установки NVM
command -v nvm
nvm -v
# Установка
nvm install node # последняя версия
nvm install --lts # последняя LTS
nvm install 14.15.4 # конкретная версия
# Использование
nvm use 14.15.4
nvm alias default 14.15.4
# Список
nvm ls
nvm ls-remote
# Удаление
nvm uninstall v14.15.4
# Справка
nvm -hРоль‑ориентированные контрольные списки
Для разработчика:
- Установить NVM в своей локальной среде.
- Создать
.nvmrcв проекте с требуемой версией Node.js. - Использовать
nvm useпри переключении между проектами. - Зафиксировать версию Node в CI/докере.
Для системного администратора / DevOps:
- Не полагаться на NVM для системных сервисов, запускаемых от root.
- Для контейнеров/CI предпочесть системную установку или Docker image с требуемой версией.
- Документировать политику версий и LTS.
Для QA/тестировщика:
- Тестировать приложение на версиях Node, указанных в
.nvmrc. - Проверить совместимость зависимостей при смене версии Node.
Когда NVM не подходит и альтернативы
Категории, где NVM не всегда удобен:
- CI/CD и контейнеры: лучше использовать официальный образ Docker с конкретной версией Node.js или системную установку, чтобы обеспечить детерминированность.
- Системные сервисы, требующие системного пользователя root: NVM работает на уровне пользователя.
- Среды Windows без WSL: официальная NVM поддержка ориентирована на Unix‑подобные оболочки; на Windows есть аналоги.
Альтернативы:
- n (простая утилита для управления версиями Node) — простая и быстрая.
- asdf — мульти‑языковой менеджер версий (Node.js + другие рантаймы).
- Официальные пакеты NodeSource или пакетный менеджер дистрибутива для системной установки.
- Docker — для изолированных окружений и CI.
Психологическая модель и эвристики
- «Версии на проект»: храните версию Node в файле
.nvmrcрядом с проектом. Это главный источник правды для разработчика. - «Локально для девелопера, стабильно в продакшене»: используйте NVM локально, но в продакшене предпочтительнее контейнеры или системная установка.
- «LTS для продакшена, latest для экспериментов»: для критичных сервисов выбирайте LTS‑версии.
Decision flowchart — выбрать способ установки Node.js
flowchart TD
A[Нужно Node.js для проекта?] --> B{Это локальная разработка?}
B -- Да --> C[NVM или asdf]
B -- Нет --> D{Это CI/продакшен/контейнер?}
D -- Да --> E[Docker или системная установка 'NodeSource']
D -- Нет --> C
C --> F[Добавьте .nvmrc в проект]
E --> G[Зафиксируйте образ/пакет версии]Критерии приёмки
- nvm доступен в терминале:
command -v nvmвозвращаетnvm. - Установка версии Node проходит без ошибок:
nvm install 14.15.4завершилась успешно. - Переключение версии работает:
nvm use 14.15.4меняетnode -vна соответствующую. - CI или контейнеры используют зафиксированную стратегию (образ/системный пакет), задокументированную в репозитории.
Когда возникают проблемы — краткое устранение неполадок
- Команда
command -v nvmне показывает nvm: убедитесь, что скрипт добавил строки в ваш профиль (~/.bashrc, ~/.zshrc) и вы открыли новый терминал. nvm installпадает с ошибкой SSL/сеть: проверьте подключение, прокси и обновите curl/ca‑certificates.- Node версии не видны в
nvm ls: возможно, установленные версии находятся под другим пользователем или вы используете системный Node.
Важное: для сервисов, работающих от root, лучше не полагаться на NVM — используйте системную установку или контейнер.
Однострочные определения (глоссарий)
- NVM: менеджер версий Node.js для пользователя.
- LTS: долгосрочная поддержка, стабильные версии Node.js для продакшена.
- .nvmrc: файл в корне проекта с версией Node (например,
14.15.4).
Краткая сводка
- NVM упрощает установку и переключение между версиями Node.js для локальной разработки.
- Для продакшена и CI лучше фиксировать версии через Docker или системные пакеты.
- Используйте
.nvmrcиnvm alias defaultдля консистентности в команде.
Заметки: NVM — удобный инструмент для разработчиков. Он не решает всех задач в CI/продакшене, но делает локальную работу более предсказуемой.
Похожие материалы
Удаление метаданных фото в Windows 10
Вернуть индикатор свободного места в Windows 10
Как пользоваться флешкой — полное руководство
Записать Windows на USB из Linux — WinUSB
Haptic Touch на iPhone: включение и советы