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

Как установить asdf для управления несколькими версиями среды выполнения языка программирования в Ubuntu 22.04


Введение

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

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

Предпосылки

  • Сервер Ubuntu 22.04, настроенный в соответствии с нашим руководством по первоначальной настройке сервера для Ubuntu 22.04, с пользователем без полномочий root с привилегиями sudo и включенным брандмауэром.

Шаг 1 — Установка ядра asdf

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

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

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

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

Затем убедитесь, что ваши изменения применены к текущему сеансу:

  1. source ~/.bashrc

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

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

Шаг 2 — Установка плагина asdf Node.js и сборка зависимостей

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

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

Чтобы установить подключаемый модуль, используйте следующую команду asdf plugin add:

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

Для этого плагина Node.js зависимости упоминаются в разделе официальных репозиториев Node.js при сборке Node.js. Это необходимо сделать вручную, потому что asdf — это решение, ориентированное на несколько операционных систем, каждая из которых имеет свои уникальные зависимости и методы их установки. Это также может варьироваться от плагина к плагину. Для этого плагина в Ubuntu вам необходимо установить эти зависимости. Начните с обновления исходного индекса apt:

  1. sudo apt update

Затем вы можете установить необходимые зависимости:

  1. sudo apt install python3 g++ make python3-pip

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

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

Шаг 3 — Установка Node.js

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

  1. asdf install nodejs latest
Output
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/sammy/.asdf/installs/nodejs/18.10.0

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

  1. asdf install nodejs 16.16.0
Output
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/sammy/.asdf/installs/nodejs/16.16.0

Установив эти две версии, вы можете проверить все имеющиеся у вас версии следующим образом:

  1. asdf list nodejs
Output
16.16.0 18.10.0

Кроме того, если вы когда-нибудь захотите удалить версию, вы можете использовать команду uninstall с определенной целевой версией:

  1. asdf uninstall nodejs 16.16.0

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

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

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

  1. asdf local nodejs latest

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

  1. asdf global nodejs latest

Если вы хотите установить версию только для текущего сеанса оболочки, введите следующее:

  1. asdf shell nodejs latest

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

Заключение

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