Back

Как переключать версии Node.js в Linux с помощью NVM (пошаговое руководство)

Как переключать версии Node.js в Linux с помощью NVM (пошаговое руководство)

Управление различными версиями Node.js может стать запутанным, особенно если вы работаете над несколькими проектами, каждый из которых требует своей собственной настройки Node.js. Node Version Manager (NVM) делает переключение между версиями Node.js в Linux простым и удобным. В этом руководстве вы узнаете, как установить NVM, переключаться между версиями Node, устанавливать значения по умолчанию и быстро решать распространенные проблемы.

Ключевые моменты

  • NVM помогает управлять несколькими версиями Node.js без конфликтов.
  • Всегда запускайте команды NVM и Node.js без sudo, чтобы избежать проблем с разрешениями.

Шаг 1: Установка NVM в Linux

Выполните эту команду в терминале:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

Этот скрипт автоматически загружает и устанавливает NVM.

Проверка установки

Перезагрузите оболочку:

source ~/.bashrc  # Для пользователей Bash
source ~/.zshrc   # Для пользователей Zsh

Затем проверьте установку NVM:

nvm --version

Вы должны увидеть номер версии.

Устранение проблем с установкой

Если вы столкнулись с ошибкой nvm: command not found:

  • Проверьте, есть ли в вашем ~/.bashrc или ~/.zshrc следующие строки:
export NVM_DIR=""$HOME/.nvm""
[ -s ""$NVM_DIR/nvm.sh"" ] && . ""$NVM_DIR/nvm.sh""
  • После добавления этих строк снова перезагрузите оболочку.

Шаг 2: Установка и управление версиями Node.js

Установка последней версии Node.js

Установите последнюю версию Node.js:

nvm install node  # последний релиз
nvm install --lts # последняя версия с долгосрочной поддержкой (LTS)

Установка конкретной версии Node.js

Найдите и установите конкретную версию Node.js (например, 20.11.0):

nvm ls-remote
nvm install 20.11.0

Список установленных версий

Проверьте установленные версии Node:

nvm ls

Шаг 3: Переключение между версиями Node.js

Мгновенно переключайтесь между версиями Node.js:

nvm use 20.11.0

Проверьте активную версию:

node -v

Установка версии Node.js по умолчанию

Установите Node.js по умолчанию для новых терминалов:

nvm alias default 20.11.0

Шаг 4: Использование .nvmrc для версий, специфичных для проекта

Создайте файл .nvmrc в папке вашего проекта с версией Node внутри (например, 20.11.0). Затем используйте:

nvm use

NVM автоматически выберет версию из файла .nvmrc.

Распространенные проблемы и быстрые решения

Версия Node не меняется

  • Убедитесь, что вы не используете системную установку Node.js по ошибке.
  • Выполните which node, чтобы подтвердить, что активен Node, управляемый NVM.
  • Никогда не используйте sudo для команд NVM или установки npm-пакетов.

Отсутствие глобальных npm-пакетов после переключения версий

Каждая версия Node.js управляет своими собственными глобальными npm-пакетами. Для миграции глобальных пакетов:

nvm install 20 --reinstall-packages-from=18

Замените ""18"" на версию Node, с которой вы хотите мигрировать.

Обновление NVM

Снова запустите скрипт установки, чтобы обновить NVM:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

Это обновит NVM, не затрагивая установленные версии Node.

Заключение

Использование NVM значительно упрощает управление несколькими средами Node.js. Оно позволяет быстро переключаться, избегать конфликтов версий и поддерживать плавный рабочий процесс разработки в Linux.

Часто задаваемые вопросы

Нет. NVM устанавливает версии Node.js в вашем домашнем каталоге, поэтому права root (`sudo`) не требуются и не должны использоваться.

NVM отлично работает на macOS. Пользователям Windows следует использовать NVM for Windows, аналогичный, но отдельный инструмент.

Убедитесь, что строки настройки NVM находятся в профиле вашей оболочки (`~/.bashrc`, `~/.zshrc`), затем перезагрузите оболочку или перезапустите терминал.

Каждая сессия терминала может иметь разную активную версию Node.js, управляемую NVM, но одна сессия может запускать только одну версию за раз.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers