community.general.npm 模块 – 使用 npm 管理 node.js 包

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在 playbook 中使用它,请指定:community.general.npm

概要

  • 使用 Node Package Manager (npm) 管理 node.js 包。

要求

在执行此模块的主机上需要以下要求。

  • 在 bin 路径中安装 npm(推荐 /usr/local/bin)

参数

参数

注释

ci

布尔值

基于 package-lock 文件安装包,与运行 npm ci 相同。

选项

  • false ← (默认)

  • true

executable

路径

npm 的可执行文件位置。

如果您使用版本管理器(如 nvm),这将很有用。

force

布尔值

在 community.general 9.5.0 中添加

安装时使用 --force 标志。

选项

  • false ← (默认)

  • true

global

布尔值

全局安装 node.js 库。

选项

  • false ← (默认)

  • true

ignore_scripts

布尔值

安装时使用 --ignore-scripts 标志。

选项

  • false ← (默认)

  • true

name

字符串

要安装的 node.js 库的名称。

布尔值

在 community.general 2.5.0 中添加

安装时使用 --no-bin-links 标志。

选项

  • false ← (默认)

  • true

no_optional

布尔值

在 community.general 2.0.0 中添加

安装时使用 --no-optional 标志。

选项

  • false ← (默认)

  • true

路径

路径

安装 node.js 库的基本路径。

production

布尔值

以生产模式安装依赖项,排除 devDependencies。

选项

  • false ← (默认)

  • true

registry

字符串

从中安装模块的注册表。

state

字符串

node.js 库的状态。

选项

  • "present" ← (默认)

  • "absent"

  • "latest"

unsafe_perm

布尔值

安装时使用 --unsafe-perm 标志。

选项

  • false ← (默认)

  • true

version

字符串

要安装的版本。

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 中运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

处于差异模式时,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

示例

- name: Install "coffee-script" node.js package.
  community.general.npm:
    name: coffee-script
    path: /app/location

- name: Install "coffee-script" node.js package on version 1.6.1.
  community.general.npm:
    name: coffee-script
    version: '1.6.1'
    path: /app/location

- name: Install "coffee-script" node.js package globally.
  community.general.npm:
    name: coffee-script
    global: true

- name: Force Install "coffee-script" node.js package.
  community.general.npm:
    name: coffee-script
    force: true

- name: Remove the globally package "coffee-script".
  community.general.npm:
    name: coffee-script
    global: true
    state: absent

- name: Install "coffee-script" node.js package from custom registry.
  community.general.npm:
    name: coffee-script
    registry: 'http://registry.mysite.com'

- name: Install packages based on package.json.
  community.general.npm:
    path: /app/location

- name: Update packages based on package.json to their latest version.
  community.general.npm:
    path: /app/location
    state: latest

- name: Install packages based on package.json using the npm installed with nvm v0.10.1.
  community.general.npm:
    path: /app/location
    executable: /opt/nvm/v0.10.1/bin/npm
    state: present

作者

  • Chris Hoffman (@chrishoffman)