npm - Manage node.js packages with npm

Synopsis

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
executable
The executable location for npm.
This is useful if you are using a version manager, such as nvm
global
bool
    Choices:
  • no ←
  • yes
Install the node.js library globally
ignore_scripts
bool

(added in 1.8)
    Choices:
  • no ←
  • yes
Use the --ignore-scripts flag when installing.
name
The name of a node.js library to install
path
The base path where to install the node.js libraries
production
bool
    Choices:
  • no ←
  • yes
Install dependencies in production mode, excluding devDependencies
registry
(added in 1.6)
The registry to install modules from.
state
    Choices:
  • present ←
  • absent
  • latest
The state of the node.js library
version
The version to be installed

Examples

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

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

- name: Install "coffee-script" node.js package globally.
  npm:
    name: coffee-script
    global: yes

- name: Remove the globally package "coffee-script".
  npm:
    name: coffee-script
    global: yes
    state: absent

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

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

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

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

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Community, see here.

Author

  • Chris Hoffman (@chrishoffman)

Hint

If you notice any issues in this documentation you can edit this document to improve it.