community.general.npm – Manage node.js packages with npm

Note

This plugin is part of the community.general collection (version 2.5.1).

To install it use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.npm.

Synopsis

  • Manage node.js packages with Node Package Manager (npm).

Requirements

The below requirements are needed on the host that executes this module.

  • npm installed in bin path (recommended /usr/local/bin)

Parameters

Parameter Choices/Defaults Comments
ci
boolean
    Choices:
  • no ←
  • yes
Install packages based on package-lock file, same as running npm ci.
executable
path
The executable location for npm.
This is useful if you are using a version manager, such as nvm.
global
boolean
    Choices:
  • no ←
  • yes
Install the node.js library globally.
ignore_scripts
boolean
    Choices:
  • no ←
  • yes
Use the --ignore-scripts flag when installing.
name
string
The name of a node.js library to install.
no_bin_links
boolean
added in 2.5.0 of community.general
    Choices:
  • no ←
  • yes
Use the --no-bin-links flag when installing.
no_optional
boolean
added in 2.0.0 of community.general
    Choices:
  • no ←
  • yes
Use the --no-optional flag when installing.
path
path
The base path where to install the node.js libraries.
production
boolean
    Choices:
  • no ←
  • yes
Install dependencies in production mode, excluding devDependencies.
registry
string
The registry to install modules from.
state
string
    Choices:
  • present ←
  • absent
  • latest
The state of the node.js library.
unsafe_perm
boolean
    Choices:
  • no ←
  • yes
Use the --unsafe-perm flag when installing.
version
string
The version to be installed.

Examples

- 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: yes

- name: Remove the globally package "coffee-script".
  community.general.npm:
    name: coffee-script
    global: yes
    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

Authors

  • Chris Hoffman (@chrishoffman)