geerlingguy.nodejs

Ansible角色:Node.js

CI

在RHEL/CentOS或Debian/Ubuntu上安装Node.js。

需求

无。

角色变量

可用的变量如下列出,并附有默认值(见defaults/main.yml):

nodejs_version: "16.x"

要安装的Node.js版本。"14.x"是默认值,适用于大多数支持的操作系统。其他版本,如"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"

设置为true可在运行包脚本时抑制UID/GID切换。如果明确设置为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并导出变量(PATHNPM_CONFIG_PREFIXNODE_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

作者信息

该角色由Jeff Geerling于2014年创建,他是Ansible for DevOps的作者。

安装
ansible-galaxy install geerlingguy.nodejs
许可证
mit
下载
3.3M
拥有者
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns