geerlingguy.nodejs
Ansible役割: Node.js
RHEL/CentOS または Debian/Ubuntu に Node.js をインストールします。
要件
特になし。
役割の変数
使用可能な変数は以下に示されており、デフォルト値も記載されています(defaults/main.yml
を参照):
nodejs_version: "16.x"
インストールする Node.js のバージョン。デフォルトは "14.x" で、ほとんどのサポートされている OS で動作します。他のバージョン("10.x"、"14.x"、"18.x" など)は、最新の Debian/Ubuntu および RHEL/CentOS でも動作するはずです。
nodejs_install_npm_user: "{{ ansible_ssh_user }}"
npm パッケージをインストールするユーザーをここで設定できます。デフォルトは ansible_user
です。
npm_config_prefix: "/usr/local/lib/npm"
グローバルインストールディレクトリです。これは nodejs_install_npm_user
に書き込み可能である必要があります。
npm_config_unsafe_perm: "false"
パッケージスクリプトを実行するときの UID/GID の切り替えを抑制するには "true" に設定します。明示的に "false" に設定すると、非 root ユーザーとしてインストールすることは失敗します。
nodejs_npm_global_packages: []
グローバルにインストールする npm パッケージのリスト(name
と (オプションで) version
を含む)。例:
nodejs_npm_global_packages:
# 特定のパッケージのバージョンをインストールします。
- name: jslint
version: 0.9.3
# パッケージの最新安定版をインストールします。
- name: node-sass
# このショートハンド構文も動作します(前の例と同じ)。
- node-sass
# 'absent' に状態を設定してパッケージを削除します。
- name: node-sass
state: absent
nodejs_package_json_path: ""
特定の package.json
を指すパスを設定します(例: "/var/www/app/package.json"
)。これにより、Ansible の npm
モジュールを使用してすべての定義されたパッケージがグローバルにインストールされます。
nodejs_generate_etc_profile: "true"
デフォルトでは、この役割は /etc/profile.d/npm.sh
を作成し、エクスポートされた変数 (PATH
、NPM_CONFIG_PREFIX
、NODE_PATH
) を含みます。そのファイルを生成したくない場合(例えば、グローバルインストールでなく自分で変数を設定したい場合)は、"false" に設定します。
依存関係
特になし。
例のプレイブック
- hosts: utility
vars_files:
- vars/main.yml
roles:
- geerlingguy.nodejs
vars/main.yml
の中で:
nodejs_npm_global_packages:
- name: jslint
- name: node-sass
ライセンス
MIT / BSD
作者情報
この役割は 2014 年に Jeff Geerling によって作成されました。彼は Ansible for DevOps の著者です。
ansible-galaxy install geerlingguy.nodejs