Менеджер версий Node (сокращенно NVM) – это простой скрипт командной строки для управления несколькими активными версиями node.js на вашей системе Linux. Он позволяет устанавливать несколько версий node.js и просматривать все доступные для установки и установленные версии на вашей системе.
Nvm также поддерживает запуск определенной версии node.js и может показать путь к исполняемому файлу, куда он был установлен, и многое другое.
В этой статье мы объясним, как установить Менеджер версий Node (NVM) для управления несколькими активными версиями node.js на вашем дистрибутиве Linux.
Содержание
Установка NVM (менеджера версий Node) в Linux
Чтобы установить или обновить nvm на вашем дистрибутиве Linux, вы можете скачать скрипт автоматической установки с помощью утилит командной строки curl или wget, как показано ниже.
# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash OR # wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
Указанный выше автоустановочный скрипт клонирует репозиторий nvm в ~/.nvm
в вашем домашнем каталоге и добавляет необходимые команды источника в ваши сценарии запуска оболочки, т. е. ~/.bash_profile, ~/.zshrc, ~/.profile или ~/.bashrc, в зависимости от программы оболочки, которую вы используете, как показано в следующем выводе.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 15916 100 15916 0 0 34227 0 --:--:-- --:--:-- --:--:-- 34301 => Downloading nvm from git to '/root/.nvm' => Cloning into '/root/.nvm'... remote: Enumerating objects: 359, done. remote: Counting objects: 100% (359/359), done. remote: Compressing objects: 100% (305/305), done. remote: Total 359 (delta 40), reused 168 (delta 28), pack-reused 0 Receiving objects: 100% (359/359), 219.46 KiB | 6.86 MiB/s, done. Resolving deltas: 100% (40/40), done. * (HEAD detached at FETCH_HEAD) master => Compressing and cleaning up git repository => Appending nvm source string to /root/.bashrc => Appending bash_completion source string to /root/.bashrc => You currently have modules installed globally with `npm`. These will no => longer be linked to the active version of Node when you install a new node => with `nvm`; and they may (depending on how you construct your `$PATH`) => override the binaries of modules installed with `nvm`: ...
После завершения установки закройте текущее окно терминала и откройте новое или просто выполните исходный файл вашей оболочки, чтобы загрузить nvm. Например, если вы используете bash, выполните следующую команду:
$ source ~/.bashrc OR $ source ~/.profile
Затем проверьте, был ли nvm установлен в вашей системе, используя следующую команду.
# command -v nvm nvm
Она покажет вывод «nvm», если установка прошла успешно.
Установка нескольких версий Node.js с использованием NVM
Теперь пришло время узнать, как использовать менеджер версий Node в Linux. Чтобы загрузить, скомпилировать и установить последнюю версию node, выполните следующую команду:
# nvm install node
Обратите внимание, что в указанной выше команде “node” является псевдонимом для последней версии.
Downloading and installing node v20.0.0... Downloading https://nodejs.org/dist/v20.0.0/node-v20.0.0-linux-x64.tar.xz... ########################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v20.0.0 (npm v9.6.4) Creating default alias: default -> node (-> v20.0.0)
Чтобы установить определенную версию “node”, сначала перечислите доступные версии node, а затем установите версию, как показано.
# nvm ls-remote # nvm install 19.0.0
Downloading and installing node v19.0.0... Downloading https://nodejs.org/dist/v19.0.0/node-v19.0.0-linux-x64.tar.xz... ########################################################################## 100.0% Computing checksum with sha256sum Checksums matched! Now using node v19.0.0 (npm v8.19.2)
После установки версии Node.js с использованием nvm, теперь система должна указывать на версии Node.js и npm в рамках nvm. Можно проверить расположение исполняемых файлов node и npm, используемых, запустив команду which следующим образом:
# which node /root/.nvm/versions/node/v20.0.0/bin/node # which npm /root/.nvm/versions/node/v20.0.0/bin/npm # node -v v20.0.0 # npm -v 9.6.4
Список установленных версий Node.js
Можно проверить все установленные версии с помощью следующей команды:
# nvm ls
-> v19.0.0 v20.0.0 system default -> node (-> v20.0.0) iojs -> N/A (default) unstable -> N/A (default) node -> stable (-> v20.0.0) (default) stable -> 20.0 (-> v20.0.0) (default) lts/* -> lts/hydrogen (-> 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.21.3 (-> N/A) lts/gallium -> v16.20.0 (-> N/A) lts/hydrogen -> v18.16.0 (-> N/A)
Выбор версии Node для проекта
Здесь становится интересным nvm. Теперь вы можете использовать nvm, чтобы выбирать версию node.js для каждого проекта, над которым вы работаете, в зависимости от требований. Давайте посмотрим, как это сделать, как объяснено ниже.
Откройте несколько терминалов и перейдите в каталоги проектов. В этом руководстве у нас два проекта в каталогах ~/projects/app-server
и ~/projects/test-ui
, которые требуют версии node 19.0.0 и 20.0.0 соответственно.
------------ Project 1 ------------ $ cd ~/projects/api-server $ nvm use 19.0.0 $ node -v ------------ Project 2 ------------ $ cd ~/projects/test-ui $ nvm use 20.0.0 $ node -v
Например, если у вас установлен глобальный пакет при активной версии 19.0.0, при переключении на версию 20.0.0 вам нужно переустановить глобальный пакет для новой версии.
Важно отметить, что можно просмотреть путь к исполняемому файлу, куда была установлена определенная версия node, следующим образом:
# nvm which 20.0.0 # nvm which 19.0.0 # nvm which system #check system-installed version of a node using “system” alias
Установка версии Node.js по умолчанию в Linux
Кроме того, чтобы вручную установить версию узла по умолчанию для использования в любом новом оболочке, используйте псевдоним “по умолчанию”, как показано.
# nvm alias default 20.0.0 # nvm alias default system # nvm alias default 19.0.0
.nvmrc
initialization file in your project root directory (or any parent directory) and add a node version number or any other flags or usage options that nvm understands, in it. Then use some of the commands we have just looked at above to operate with the specified version in the file.Удаление версии Node.js в Linux
Чтобы удалить или удалить версию Node.js, выполните следующую команду (не забудьте заменить 19.0.0 на номер версии):
# nvm uninstall 19.0.0
Удаление NVM в Linux
Чтобы вручную удалить nvm из вашей системы, выполните следующие команды:
# rm -rf "$NVM_DIR" OR # rm -rf ~/.nvm
Затем отредактируйте ~/.bashrc (или соответствующий файл конфигурации профиля оболочки, как указано выше) и удалите следующие строки конфигурации:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion
Дополнительную информацию см. в nvm --help
или перейдите на репозиторий Node Version Manager Github: https://github.com/nvm-sh/nvm.
Вот и все! Менеджер версий Node является простым сценарием bash для управления несколькими активными версиями node.js на вашей системе Linux. Используйте форму обратной связи ниже, чтобы задавать вопросы или делиться своими комментариями с нами.
Source:
https://www.tecmint.com/nvm-install-multiple-nodejs-versions-in-linux/