Как установить менеджер версий asdf в Ubuntu

asdf — это инструмент  командной строки для управления разными версиями среды выполнения на нескольких языках программирования. Он объединяет все среды в одном файле конфигурации и использует структуру плагинов для управления ими. Например, вы можете установить Node.js, но затем использовать asdf в качестве центрального репозитория плагинов, который может содержать как официальные плагины, так и те, которые поддерживаются сообществом.

В этой статье мы установим ядро ​​​​asdf и подключаемый плагин Node.js с зависимостями сборки. Это минимум, необходимый для работы. Затем мы установим Node.js и попробуем управлять версиями.

Требования

Для работы нам понадобится сервер (мы используем Ubuntu, настроенный по этой статье) с пользователем с привилегиями sudo и включенным брандмауэром.

1: Установка ядра asdf

asdf предусматривает установку ядра, которое само по себе не имеет функционала. Ядро asdf включает отдельные плагины, специфичные для языка программирования или программы. Чаще всего данный инструмент используется для установки и управления несколькими версиями языка программирования. Рекомендуем загрузить ядро ​​​​asdf с помощью git — эта система устанавливается вместе с Ubuntu. Для получения последней версии asdf нужно клонировать последнюю ветку из репозитория asdf:

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.2

Установка asdf зависит от комбинации типа оболочки и метода ее загрузки. По умолчанию Ubuntu использует оболочку Bash, которая использует файл ~/.bashrc для конфигурации. Чтобы разрешить использование команды asdf, нужно добавить в этот файл следующую строку:

echo ". $HOME/.asdf/asdf.sh" >> ~/.bashrc

Активируйте внесённые изменения:

source ~/.bashrc

Примечание. Если вы используете ZSH вместо Bash, вы можете добавить ту же строку, но в файл ~/.zshrc.

Теперь, когда ядро установлено, можно устанавливать плагин.

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

Важно отметить: установка плагина Node.js для asdf — это не установка самого Node.js. Мы сделаем это позже. Как упоминалось ранее, минимальные требования для установки asdf — это ядро ​​asdf и как минимум один подключаемый плагин. После установки этого плагина вы можете использовать его для установки среды выполнения, с которой он работает.

Каждый плагин asdf поддерживается отдельно. Большинство плагинов поддерживаются сообществом, но существуют и те, которые поддерживает команда разработчиков asdf. У каждого плагина asdf есть свой собственный репозиторий и зависимости, которые необходимо установить. Вам следует проверить каждый репозиторий плагинов, например репозиторий плагинов Node.js. Этот плагин официально поддерживается командой asdf.

Установить плагин можно с помощью команды:

asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git

Зависимости этого плагина Node.js указаны в файле “README”, раздел “Use”. В этом разделе зависимости связываются с разделом официальных репозиториев Node.js по сборке Node.js. Это нужно сделать вручную, потому что asdf ориентирован на несколько операционных систем, а для каждой из них существуют свои зависимости и методы их установки. Также зависимости меняются от плагина к плагину. Чтобы установить необходимые зависимости, начните с обновления вашего исходного индекса apt:

sudo apt update

Затем можно установить зависимости:

sudo apt install python3 g++ make python3-pip

Для плагина Node.js команда выбирает предварительно скомпилированные двоичные файлы, либо компилирует двоичные файлы из исходного кода (зависит от версии, которую вы устанавливаете). Если вы выберете версию, которая требует компиляции из исходного кода, то вам понадобятся вышеупомянутые зависимости.

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

3: Установка Node.js

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

asdf install nodejs latest

Вывод:

Trying to update node-build... ok
Downloading node-v18.10.0-linux-x64.tar.gz...
-> https://nodejs.org/dist/v18.10.0/node-v18.10.0-linux-x64.tar.gz
Installing node-v18.10.0-linux-x64...
Installed node-v18.10.0-linux-x64 to /home/8host/.asdf/installs/nodejs/18.10.0

Установка последней версии — это ярлык, предоставляемый asdf, это не специальная версия. asdf идентифицирует и устанавливает версии по их точным номерам. Для установки определенной версии Node.js, введите:

asdf install nodejs 16.16.0

Вывод:

Trying to update node-build... ok
Downloading node-v16.16.0-linux-x64.tar.gz...
-> https://nodejs.org/dist/v16.16.0/node-v16.16.0-linux-x64.tar.gz
Installing node-v16.16.0-linux-x64...
Installed node-v16.16.0-linux-x64 to /home/8host/.asdf/installs/nodejs/16.16.0

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

asdf list nodejs

Вывод:

 16.16.0
  18.10.0\

Если вы захотите удалить какую-то из версий, это можно сделать с помощью команды uninstall, указав версию Node.js:

asdf uninstall nodejs 16.16.0

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

4: Выбор активной версии Node.js

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

asdf local nodejs latest

Установка текущей версии на глобальном уровне действует на уровне пользователя вашей системы:

asdf global nodejs latest

Для установки версии только для текущего сеанса оболочки введите:

asdf shell nodejs latest

Теперь мы полностью установили Node.js с помощью asdf и научились переключаться на нужную вам версию и в нужной вам области.

Подводим итоги

В этой статье мы установили ядро ​​asdf, подключаемый модуль asdf Node.js, а потом и сам Node.js. Инструмент asdf позволяет установить несколько версий среды выполнения, и вы можете выбирать версию на разных уровнях — от глобальной среды до рабочего каталога проекта. 

Читайте также: Установка Node.js в Ubuntu 20.04

Tags: ,

Добавить комментарий