geerlingguy.nodejs
Ansible角色:Node.js
在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
并导出变量(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
作者信息
该角色由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