# npm – Manage node.js packages with npm

- Synopsis

- Requirements

- Parameters

- Examples

- Status

## 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
added in 2.8

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
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
added in 2.8

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.
      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 not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- Chris Hoffman (@chrishoffman)

Hint

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