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 role that installs Node.js

インストール
ansible-galaxy install ecgalaxy.nodejs
ライセンス
eupl-1.2
ダウンロード
6.5k
所有者
The European Commission ECGALAXY project provides a set of reusable Infrastructure as Code (IaC) tools and components