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

Author

  • Chris Hoffman (@chrishoffman)

Hint

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/npm_module.html