nodejs

ECGALAXY nodejs

Ansible роль, которая устанавливает Node.js глобально.

Требования

  • На Ubuntu требуется команда gpg-agent, которую можно установить с помощью ecgalaxy.common_packages.

Переменные роли

  • nodejs_version: Устанавливает версию Node.js для установки ("18.x", "20.x" и т.д.), используя менеджер пакетов дистрибутива.

Версия по умолчанию — 20.x.

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

  • nodejs_download_url: URL для загрузки архива Node.js (см. https://nodejs.org/dist/)
  • nodejs_checksum: Контрольная сумма архива
  • nodejs_install_path: Путь, по которому будет установлен Node.js

О Node.js 18.x, 20.x и 22.x на Amazon Linux 2

Официальные предварительно собранные бинарные файлы Node.js 18.x, 20.x и 22.x не могут быть использованы на Amazon Linux 2 из-за бинарной несовместимости (отсутствующие версии символов glibc).

AWS рекомендует собирать эти версии Node.js из исходного кода при использовании Amazon Linux 2 (AL2).

Предварительно собранные бинарные файлы Node.js 18.x, 20.x и 22.x для Amazon Linux 2 можно найти по адресу https://code.europa.eu/ecgalaxy/amazonlinux2-nodejs/-/packages

Они скачиваются этой Ansible ролью (при выполнении на AL2) и сохраняются в папке /opt/nodejs/<nodejs_version>.

Затем создаются символические ссылки на исполняемые файлы Node.js в /usr/local/bin.

Вы также можете обновить ваш $PATH, добавив путь к папке /opt/nodejs/<nodejs_version>/bin.

Использование с nvm было успешно протестировано; команда nvm use system правильно укажет на "глобальную" версию Node.js (сохраненную в /opt/nodejs/<nodejs_version>).

Вы также можете выполнить эту роль для глобальной установки 18.x, 20.x и 22.x, а затем перезаписать содержимое ~/.nvm/versions/node/v<nodejs_version> для каждого, что позволит переключаться с одной версии на другую с помощью nvm use.

Зависимости

  • не обязательно: ecgalaxy.bootstrap
  • не обязательно: ecgalaxy.common_packages

Пример плейбука

- hosts: all
  roles:
    - ecgalaxy.bootstrap
    - ecgalaxy.common_packages
    - ecgalaxy.nodejs

Однострочник

Чтобы глобально установить версию Node.js по умолчанию:

bash <(curl -s https://code.europa.eu/-/snippets/1/raw/main/ansible-role.sh) ecgalaxy.nodejs

Чтобы глобально установить Node.js 18.x:

bash <(curl -s https://code.europa.eu/-/snippets/1/raw/main/ansible-role.sh) ecgalaxy.nodejs --extra-vars '{"nodejs_version":"18.x"}'

См. ansible-role для инструкций.

Пожалуйста, сначала проверьте целостность скрипта.

Лицензия

Авторские права Европейского Союза 2022 года.

Лицензия EUPL-1.2 или более поздняя.

Информация об авторе

Команда ECGALAXY.

ПРИМЕЧАНИЕ: Эта роль основана на оригинальной работе Джеффа Гирлинга.

О проекте

Ansible role that installs Node.js

Установить
ansible-galaxy install ecgalaxy/nodejs
Лицензия
eupl-1.2
Загрузки
5742
Владелец
The European Commission ECGALAXY project provides a set of reusable Infrastructure as Code (IaC) tools and components