deluxebrain.ansible_role_nodejs
角色名称:NODEJS
用于Linux的NodeJS安装程序。 默认包含node-build和nodenv-vars插件,用于安装Node.js版本和每个项目的环境变量。
需求
无。
角色变量
所有列出的变量在defaults/main.yml
中定义。
可以在此角色的playbook中设置或覆盖单个变量。
nodenv_version
:(默认:latest)- 要安装的nodenv版本
nodebuild_version
:(默认:latest)- 要安装的node-build版本
nodenvvars_version
:(默认:latest)- 要安装的nodenv-vars版本
init_shell
:(默认:yes)- 配置shell以加载nodenv
global_nodejs_version
:(默认:“”)- 默认为使用的Node.js版本
nodejs_versions
:(默认:[])- 要安装的Node.js版本列表
plugins
:(默认:[])- 要安装的插件列表,按以下列表指定:
name
:插件名称repo
:插件的github仓库version
:插件版本,可指定“latest”表示最新版本
- 要安装的插件列表,按以下列表指定:
依赖
无。
示例Playbook
以下示例用于:
- 安装特定版本的
nodenv
- 安装特定版本的Node.js
- 安装
nodenv-default-packages
nodenv插件
- hosts: servers
roles:
- deluxebrain.python
nodenv_version: 1.3.1
global_nodenv_version: 12.3.1
nodenv_versions:
- 12.3.1
plugins:
- name: nodenv-default-packages
repo: https://github.com/nodenv/nodenv-default-packages.git
version: latest
开发安装
软件包分为开发依赖和生产依赖,分别通过包含的requirements-dev.txt
和requirements.txt
文件进行管理。
生产包通过pip-tools
套件进行管理,它会通过包含的requirements.in
文件安装和同步项目依赖。
# 创建项目虚拟环境
# 将开发依赖安装到虚拟环境中
make install
pip-tools
负责生成requirements.txt
,这是一个完全固定的需求文件,用于同步Python虚拟环境和在生产环境中安装包。
请注意,这意味着requirements.txt
文件不应手动编辑,并且每次requirements.in
文件更改时都必须重新生成。其方式如下,同时同步任何包更改到虚拟环境中:
# 将requirements.in文件编译为requirements.txt
# 将requirements.txt包安装到虚拟环境中
make sync
通过requirements-dev.txt
文件安装pip-tools
和其他开发依赖,如下所示:
角色使用
NodeJS版本通过nodenv
进行管理。
nodenv
允许你在计算机上使用多个Node版本。
# 安装特定Node版本
nodenv install 12.3.1
# 创建项目目录
mkdir ~/my-project && cd $_
# 配置项目以使用特定Node版本
nodenv local 12.3.1 # 创建.node-version文件
使用npm进行包管理
使用npm创建新项目的示例:
npx license mit > LICENSE # 生成许可证文件
npx gitignore node # 指定.gitignore
npx covgen <EMAIL_ADDRESS> # 指定行为规范邮件地址
npm init -y # 初始化项目
npm install <package>
注意应优先使用npx
而不是全局安装包。
其他工具
nodenv-vars
nodenv-vars
是一个用于nodenv
的插件,允许每个项目设置应用程序环境变量。
在以下示例中演示其用法:
echo FOO=BAR >> .nodenv-vars
$ nodenv vars
export FOO='BAR'
许可证
MIT / BSD
作者信息
此角色由deluxebrain于2020年创建。