- Управление версиями Node.js и NPM с помощью NVM
- Установка NVM
- Использование NVM
- Обновление NVM
- Заключение
- Nvm как установить linux
- Ubuntu 18.04: установка node.js, nvm и yarn
- Node.js, NVM
- Yarn
- How To Install NVM on Ubuntu 20.04
- Prerequisites
- 1. Installing NVM on Ubuntu
- 2. Installing Node using NVM
- 3. Working with NVM
- 4. Uninstall Node Version
- Conclusion
Управление версиями Node.js и NPM с помощью NVM
Наш прошлый перевод про новые функции 15-й версии Node.js был очень хорошо принят читателями «Хабра», поэтому сегодня мы решили продолжить тему и рассказать, как настроить NVM с версией Node.js 15 и NPM 7.
Версия Node.js 15 была выпущена 20 октября 2020 года. Она поставляется с npm 7 и множеством новых функций. Вы уже успели опробовать новую версию?
Но подождите минутку! Node.js 15 и npm 7 содержат критические изменения. Не повредит ли тогда обновление существующим проектам?
Теоретически может повредить!
К счастью, у нас есть NVM (Node Version Manager), который избавит нас от этой опасности. Давайте детально рассмотрим данный инструмент, чтобы без проблем обновить версии node.js и npm.
Установка NVM
nvm управляет версиями node.js и npm. Он устанавливается для конкретного пользователя и может быть вызван отдельно для каждой оболочки. nvm работает с любой POSIX-совместимой оболочкой (sh, dash, ksh, zsh, bash), в том числе на платформах: unix, macOS и windows WSL.
nvm можно установить с помощью команд curl или wget:
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash $ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
Скрипт install.sh клонирует репозиторий nvm в ~/.nvm и пытается добавить исходные строки из приведенного ниже фрагмента в нужный файл профиля ( ~/.bash_profile , ~/.zshrc , ~/.profile или ~/.bashrc ).
export NVM_DIR="$([ -z "$" ] && printf %s "$/.nvm" || printf %s "$/nvm")" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
В ~/.bash_profile мы видим, что строки добавлены:
export NVM_DIR="/Users/fuje/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Использование NVM
Итак, мы установили nvm. Теперь используем данную команду для установки последней версии node.js:
$ nvm install node Downloading and installing node v15.4.0. Downloading https://nodejs.org/dist/v15.4.0/node-v15.4.0-darwin-x64.tar.xz. ######################################################################## 100.0% Computing checksum with shasum -a 256 Checksums matched! Now using node v15.4.0 (npm v7.0.15)
В выходных данных из примера выше указано, что npm 7.0.15 используется вместе с node.js 15.4.0 . Проверим:
Также мы можем указать нужную версию для установки. Семантический формат версии определяется SemVer:
$ nvm install 10.14.0 Downloading and installing node v10.14.0. Downloading https://nodejs.org/dist/v10.14.0/node-v10.14.0-darwin-x64.tar.xz. ######################################################################## 100.0% Computing checksum with shasum -a 256 Checksums matched! Now using node v10.14.0 (npm v6.4.1)
Если указанная версия уже была установлена, она не переустанавливается:
$ nvm install 10.14.0 v10.14.0 is already installed. Now using node v10.14.0 (npm v6.4.1)
Мы можем вывести на экран все установленные версии:
$ nvm ls -> v10.14.0 v10.15.0 v10.16.0 v12.16.0 v13.9.0 v15.4.0 system default -> 12.16.0 (-> v12.16.0) node -> stable (-> v15.4.0) (default) stable -> 15.4 (-> v15.4.0) (default) iojs -> N/A (default) unstable -> N/A (default) lts/* -> lts/fermium (-> 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.23.0 (-> N/A) lts/erbium -> v12.20.0 (-> N/A) lts/fermium -> v14.15.1 (-> N/A)
В приведенных выше примерах вывода символ -> указывает, что текущая версия node.js — 10.14.0 . Стрелка также представляет значения для default ( 12.16.0 ), node ( 15.4.0 ) и stable ( 15.4.0 ).
nvm use заменяет текущую версию:
$ nvm use 12.16.0 Now using node v12.16.0 (npm v6.14.8) $ nvm use 10.16.0 Now using node v10.16.0 (npm v6.14.5) $ nvm use 13.9.0 Now using node v13.9.0 (npm v6.13.7) $ nvm use default Now using node v12.16.0 (npm v6.14.8) $ nvm use node Now using node v15.4.0 (npm v7.0.15) $ nvm use stable Now using node v15.4.0 (npm v7.0.15)
Возможно, вы спросите, как так получилось, что v10.16.0 использует более позднюю версию npm, чем v13.9.0 . Эту задачу можно решить с помощью следующих команд:
$ nvm use 10.16.0 $ npm install -g npm@6.14.5
Данная команда позволяет получить последнюю поддерживаемую версию npm для текущей версии Node.js:
nvm use устанавливает нужную версию только для текущей оболочки. Если вы измените оболочку, только что обновленная версия node.js будет потеряна.
Как сделать определенную версию Node.js постоянной?
Версия по умолчанию — такая версия, которая распространяется на все оболочки.
Команда nvm alias позволяет установить версию по умолчанию.
Для удобства можно создать файл .nvmrc , который принимает формат SemVer, node или default . После этого nvm use , nvm install , nvm exec , nvm run и nvm which будут использовать версию, указанную в файле .nvmrc , если в командной строке не указана другая.
$ cat .nvmrc 15.4.0 $ nvm use Found '/Users/fuje/.nvmrc' with version Now using node v15.4.0 (npm v7.0.15)
Мы можем проверить текущую версию с помощью следующей команды:
ls-remote выводит на экран все доступные версии, но будьте готовы к очень длинному списку.
Обратим внимание, что название версии в сокращенной форме значительно сокращает весь список.
$ nvm ls-remote 15 v15.0.0 v15.0.1 v15.1.0 v15.2.0 v15.2.1 v15.3.0 -> v15.4.0
nvm which указывает путь к исполняемому файлу, где nvm был установлен. Мы установили такие версии node.js, как 10.14.0 , 10.15.0 и 10.16.0 . Вот результаты nvm which :
$ nvm which 10.14.0 /Users/fuje/.nvm/versions/node/v10.14.0/bin/node $ nvm which 10.15.0 /Users/fuje/.nvm/versions/node/v10.15.0/bin/node $ nvm which 10.16.0 /Users/fuje/.nvm/versions/node/v10.16.0/bin/node $ nvm which 10.15 /Users/fuje/.nvm/versions/node/v10.15.0/bin/node $ nvm which 10.12 N/A: version "v10.12" is not yet installed. You need to run "nvm install 10.12" to install it before using it. $ nvm which 10 /Users/fuje/.nvm/versions/node/v10.16.0/bin/node
Указанную версию Node.js можно использовать непосредственно для запуска приложений:
Как вариант, данная команда запускает node app.js с переменной PATH, указывающей на версию 10.15.0 .
$ nvm exec 10.15.0 node app.js
Если вам нужно больше nvm-команд, запустите команду help :
Обновление NVM
Мы можем использовать nvm для обновления node.js и npm. Но как обновить сам nvm ?
Перед обновлением у нас установлен nvm 0.34.0 .
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 13527 100 13527 0 0 23046 0 --:--:-- --:--:-- --:--:-- 23083 => nvm is already installed in /Users/fuje/.nvm, trying to update using git => => Compressing and cleaning up git repository => nvm source string already in /Users/fuje/.bash_profile => bash_completion source string already in /Users/fuje/.bash_profile => Close and reopen your terminal to start using nvm or run the following to use it now: export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Как указано в выводе, нам нужно закрыть и снова открыть терминал, чтобы использовать новую версию:
По сравнению с версией 0.34.0 , в версии 0.37.2 добавлена функция nvm set-colors для вывода на консоль.
По умолчанию nvm ls показывает следующие цвета:
nvm ls отображает вывод с новыми цветами:
Заключение
nvm упрощает управление версиями node.js и npm. Теперь мы точно готовы перейти на node.js 15 и npm 7. Надеюсь, статья была полезной. Другие публикации автора можно найти здесь.
Nvm как установить linux
Ubuntu 18.04: установка node.js, nvm и yarn
Небольшая инструкция-шпаргалка об установке node.js, nvm и yarn на Ubuntu 18.04.
Node.js, NVM
Простейший способ — установка из стандартного репозитория Ubuntu:
sudo apt install nodejs . sudo apt install npm
Это гарантирует, что Вы получите стабильную версию, однако вовсе не факт, что версия будет самой свежей. Альтернатива — ppa репозиторий. Для установки 10.х выполняем команды:
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs
Есть и третий, наиболее гибкий способ — использование nvm (node version manager), который позволит установить любую версию, а также переключаться между версиями. Сначала установим менеджер:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
Обновим среду оболочки, для чего требуется закрыть и снова открыть терминал, либо выполнить команду:
Получить список всех доступных версий node.js можно следующим образом:
Ещё лучше — вывести лишь список версий с долгосрочной поддержкой:
nvm ls-remote | grep -i "latest lts" // в моём случае результат таков v4.9.1 (Latest LTS: Argon) v6.17.1 (Latest LTS: Boron) v8.15.1 (Latest LTS: Carbon) v10.15.3 (Latest LTS: Dubnium)
Теперь можно выбрать желаемый вариант и установить, например:
Вывести список установленных версий:
Переключить на другую версию:
Чтобы удалить версию, нужно предварительно переключиться на другую и затем выполнить:
Документацию по nvm можно найти здесь.
Yarn
Начнём с импорта GPG-ключа хранилища:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
Добавим Yarn apt-репозиторий в список репозиториев системы:
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
и, если Node.js не установлен, выполним следующую команду (которая заодно установит и node):
Если же Node.js уже есть, можно пропустить его установку командой:
sudo apt install --no-install-recommends yarn
Часто используемые команды
Установка всех зависимостей проекта:
yarn add [package_name] // установка конкретной версии yarn add [package_name]@[version_or_tag]
yarn upgrade [package_name] // обновление с указанием версии yarn upgrade [package_name]@[version_or_tag]
How To Install NVM on Ubuntu 20.04
Node Version Manager (NVM) is a versatile tool that allows you to install and manage multiple versions of Node.js on your system. It simplifies the process of switching between different Node.js versions, making it easier to work with various projects that require specific Node.js versions.
This tutorial will help you to install NVM on Ubuntu 20.04 Linux system. Also, allow you to install different node versions and other useful examples.
Prerequisites
- You must have a running Ubuntu 20.04 Linux system with shell access.
- Log in with a user account to which you need to install node.js.
1. Installing NVM on Ubuntu
A shell script is available for the installation of nvm on the Ubuntu 20.04 Linux system. Open a terminal on your system or connect a remote system using SSH. Use the following commands to install curl on your system, then run the nvm installer script.
sudo apt install curl
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
The nvm installer script creates an environment entry to the login script of the current user. You can either log out and log in again to load the environment or execute the below command to do the same.
The nvm installation is successfully completed on your Ubuntu system.
2. Installing Node using NVM
You can install multiple node.js versions using nvm. And use the required version for your application from installed node.js.
Install the latest version of node.js. Here node is the alias for the latest version.
To install a specific version of node:
Replace 18.16.0 with the desired version number.
You can also install the latest LTS (Long Term Support) version of Node.js by running:
You can choose any other version to install using the above command. The very first version installed becomes the default. New shells will start with the default version of the node (e.g., nvm alias default).
3. Working with NVM
You can use the following command to list installed versions of the node for the current user.
With this command, you can find the available node.js version for the installation.
You can also select a different version for the current session. The selected version will be the currently active version for the current shell only.
To find the default Node version set for the current user, type:
You can run a Node script with the desired version of node.js using the below command:
4. Uninstall Node Version
To uninstall a specific Node.js version, use the nvm uninstall command followed by the version number. You can find the installed versions using `nvm ls` command. For example, if you want to uninstall Node.js version 18.16.0, run the following command:
Replace 14.18.1 with the desired version number you want to uninstall.
Conclusion
Congratulations! You have successfully installed NVM on Ubuntu 20.04 and learned how to manage multiple Node.js versions. With NVM, you can effortlessly switch between different Node.js versions, making it a valuable tool for developers working on various projects.