ecgalaxy.nodejs
ECGALAXY Node.js
Node.jsをグローバルにインストールするAnsibleロールです。
要件
- Ubuntuの場合、
gpg-agent
コマンドが必要で、これはecgalaxy.common_packages
によって提供されます。
ロール変数
nodejs_version
: インストールするNode.jsのバージョンを設定します(例: "18.x", "20.x"など)。 デフォルトのバージョンは20.xです。
特定のバージョンをダウンロード可能なアーカイブからインストールする場合は、以下の変数を設定してください:
nodejs_download_url
: ダウンロードするNode.jsのアーカイブ(https://nodejs.org/dist/を参照)nodejs_checksum
: アーカイブのチェックサムnodejs_install_path
: Node.jsをインストールするパス
Amazon Linux 2のNode.js 18.x、20.x、22.xについて
公式のNode.js 18.x、20.x、22.xの事前ビルドバイナリは、Amazon Linux 2では使用できません。 これは、バイナリの互換性の問題(glibcシンボルのバージョンが不足しているため)によるものです。
AWSは、Amazon Linux 2(AL2)を使用する場合、これらのNode.jsバージョンをソースからビルドすることを推奨しています。
Amazon Linux 2用のNode.js 18.x、20.x、および22.xの事前ビルドバイナリは、以下のリンクで見つけることができます: 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チーム。
注意:このロールはJeff Geerlingのオリジナルの作業に基づいています。
ansible-galaxy install ecgalaxy.nodejs