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-galaxy install ecgalaxy/nodejs