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.txtrequirements.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年创建。

关于项目

Node.js installer for Linux

安装
ansible-galaxy install deluxebrain.ansible_role_nodejs
许可证
mit
下载
752
拥有者