Поиск по сайту:

Как управлять версиями NodeJS с помощью n в Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить
  4. Управление версиями Node.js
  5. Удалить версию Node.js с n
  6. Заключение

Если вы разработчик Node.js и часто переключаетесь между различными приложениями и проектами. Тогда вам может понадобиться найти инструмент, позволяющий переключаться между версиями Node.js. В Linux есть множество утилит для управления несколькими версиями Node.js. Среди них менеджер версий n Node — простой и полезный инструмент для управления версиями Node.js.

В этом руководстве мы покажем вам, как использовать n для управления версиями Node.js в Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04.
  • На сервере настроен пароль root.

Начиная

Во-первых, рекомендуется обновить системные пакеты до последней версии. Вы можете обновить их все с помощью следующей команды:

apt-get update -y

После обновления всех пакетов вам также может потребоваться установить некоторые необходимые зависимости на ваш сервер. Вы можете установить их все с помощью следующей команды:

apt-get install curl git make -y

После установки всех зависимостей можно переходить к следующему шагу.

Установить н

Есть несколько способов установить n в Linux. Самый простой и легкий способ установить n — использовать npm.

Выполните следующую команду, чтобы установить n:

npm install -g n

Если npm не установлен в вашей системе, вы можете установить его, загрузив скрипт n с GitHub:

curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
bash n lts

Это установит Node.js, npm и n в вашу систему. По умолчанию приведенный выше скрипт не устанавливает n в системный путь. Поэтому вам нужно будет добавить его в путь пользователя.

nano ~/.bashrc

Добавьте следующие строки:

export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH

Сохраните и закройте файл, затем активируйте путь с помощью следующей команды:

source ~/.bashrc

Вы также можете установить n с помощью сценария n-install. Вы можете загрузить и запустить скрипт n-install, как показано ниже:

curl -L https://git.io/n-install | bash

Затем активируйте системный путь n с помощью следующей команды:

source ~/.bashrc

Если вы хотите удалить n из вашей системы, выполните следующую команду:

n-uninstall

Чтобы обновить n до последней версии, выполните следующую команду:

n-update

Чтобы проверить версию n, выполните следующую команду:

n --version

Вы должны получить следующий результат:

7.3.0

Чтобы проверить все параметры, доступные с n, выполните следующую команду:

n --help

Вы должны получить следующий результат:

Usage: n [options] [COMMAND] [args]

Commands:

  n                              Display downloaded Node.js versions and install selection
  n latest                       Install the latest Node.js release (downloading if necessary)
  n lts                          Install the latest LTS Node.js release (downloading if necessary)
  n                     Install Node.js  (downloading if necessary)
  n install             Install Node.js  (downloading if necessary)
  n run  [args ...]     Execute downloaded Node.js  with [args ...]
  n run  [args ...]     Execute downloaded node  with [args ...]
  n which               Output path for downloaded node 
  n exec   [args...]  Execute command with modified PATH, so downloaded node  and npm first
  n rm              Remove the given downloaded version(s)
  n prune                        Remove all downloaded versions except the installed version
  n --latest                     Output the latest Node.js version available
  n --lts                        Output the latest LTS Node.js version available
  n ls                           Output downloaded versions
  n ls-remote [version]          Output matching versions available for download
  n uninstall                    Remove the installed Node.js

Options:

  -V, --version         Output version of n
  -h, --help            Display help information
  -p, --preserve        Preserve npm and npx during install of Node.js
  -q, --quiet           Disable curl output. Disable log messages processing "auto" and "engine" labels.
  -d, --download        Download only
  -a, --arch            Override system architecture
  --all                 ls-remote displays all matches instead of last 20
  --insecure            Turn off certificate checking for https requests (may be needed from behind a proxy server)
  --use-xz/--no-use-xz  Override automatic detection of xz support and enable/disable use of xz compressed node downloads.

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

Чтобы установить последнюю версию Node.js, выполните следующую команду:

n latest

Вы должны получить следующий результат:

  installing : node-v16.4.0
       mkdir : /root/n/n/versions/node/16.4.0
       fetch : https://nodejs.org/dist/v16.4.0/node-v16.4.0-linux-x64.tar.xz
   installed : v16.4.0 (with npm 7.18.1)

Затем проверьте версию Node.js с помощью следующей команды:

node --version

Вы должны получить следующий результат:

v16.4.0

Чтобы установить версию Node.js lts, выполните следующую команду:

n lts

Вы должны получить следующий результат:

   installed : v14.17.1 (with npm 6.14.13)

Чтобы установить конкретную версию Node.js, выполните следующую команду:

n 14.15.0

Вы должны получить следующий результат:

installing : node-v14.15.0
       mkdir : /root/n/n/versions/node/14.15.0
       fetch : https://nodejs.org/dist/v14.15.0/node-v14.15.0-linux-x64.tar.xz
   installed : v14.15.0 (with npm 6.14.8)

Чтобы загрузить конкретную версию Node.js, выполните следующую команду:

n -d 14.8.0

Вы должны получить следующий результат:

  installing : node-v14.8.0
       mkdir : /root/n/n/versions/node/14.8.0
       fetch : https://nodejs.org/dist/v14.8.0/node-v14.8.0-linux-x64.tar.xz

Чтобы использовать загруженную версию Node.js, выполните следующую команду:

n run 14.8.0

Вы должны увидеть следующий вывод:

Welcome to Node.js v14.8.0.
Type ".help" for more information.

Затем выйдите из оболочки Node.js с помощью следующей команды:

> .exit

Чтобы получить список всех установленных версий Node.js, выполните следующую команду:

n ls

Вы должны получить следующий результат:

node/14.8.0
node/14.15.0
node/14.17.1
node/16.4.0

Чтобы просмотреть все доступные версии Node.js, выполните следующую команду:

n ls-remote

Вы должны получить следующий результат:

Listing remote... Displaying 20 matches (use --all to see all).
16.4.0
16.3.0
16.2.0
16.1.0
16.0.0
15.14.0
15.13.0
15.12.0
15.11.0
15.10.0
15.9.0
15.8.0
15.7.0
15.6.0
15.5.1
15.5.0
15.4.0
15.3.0
15.2.1
15.2.0

Приведенная выше команда выведет только 20 доступных версий. Если вы хотите получить список всех доступных версий Node.js, выполните следующую команду:

n ls-remote --all

Чтобы найти расположение конкретной версии Node.js, выполните следующую команду:

n which node/14.8.0

Вы должны получить следующий результат:

/root/n/n/versions/node/14.8.0/bin/node

Чтобы переключиться между разными версиями Node.js, выполните следующую команду:

n

Вам будет предложено выбрать версию Node.js, которую вы хотите переключить:

    node/14.8.0
    node/14.15.0
  ο node/14.17.1
    node/16.4.0

Use up/down arrow keys to select a version, return key to install, d to delete, q to quit

Выберите нужную версию Node.js и нажмите Enter, чтобы установить ее в качестве версии по умолчанию.

Удалить версию Node.js с помощью n

Чтобы удалить определенную версию Node.js, выполните следующую команду:

n rm node/16.4.0

Чтобы удалить все загруженные версии Node.js, выполните следующую команду:

n prune

Чтобы удалить все установленные версии Node.js, выполните следующую команду:

n uninstall

Вы должны увидеть следующий вывод:

Do you wish to delete node and npm from /root/n? Y

Uninstalling node and npm
/root/n/bin/node
/root/n/bin/npm
/root/n/bin/npx
/root/n/include/node
/root/n/lib/node_modules/npm
/root/n/share/doc/node
/root/n/share/man/man1/node.1
/root/n/share/systemtap/tapset/node.stp

Заключение

В приведенном выше руководстве вы узнали, как устанавливать версии Node.js и управлять ими с помощью n. Надеюсь, это поможет вам легко переключаться между разными проектами и приложениями.