Role Detail

geerlingguy.nodejs

Node.js installation for Linux
Downloads
77058
Type Ansible
Minimum Ansible Version 2.4
Installation $ ansible-galaxy install geerlingguy.nodejs
Tags
development
javascript
js
node
nodejs
npm
web
Last Commit
Last Imported
Version History
Version Release Date
4.2.0
4.1.2
4.1.1
4.1.0
4.0.1
4.0.0
3.3.1
3.3.0
3.2.0
3.1.0
3.0.1
3.0.0
2.2.0
2.1.1
2.1.0
2.0.3
2.0.2
2.0.1
2.0.0
1.2.0
1.1.0
1.0.2
1.0.1
1.0.0
OS Platforms
Platform Version
Debian buster
Debian etch
Debian jessie
Debian lenny
Debian sid
Debian squeeze
Debian stretch
Debian wheezy
EL 6
EL 7
Ubuntu bionic
Ubuntu trusty
Ubuntu xenial
Last 10 Imports
Completed Status
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS
SUCCESS

Ansible Role: Node.js

Build Status

Installs Node.js on RHEL/CentOS or Debian/Ubuntu.

Requirements

Requires the EPEL repository on RedHat/CentOS (you can install it by simply adding the geerlingguy.repo-epel role to your playbook).

Role Variables

Available variables are listed below, along with default values (see defaults/main.yml):

nodejs_version: "6.x"

The Node.js version to install. "6.x" is the default and works on most supported OSes. Other versions such as "0.12", "4.x", "5.x", "6.x", etc. should work on the latest versions of Debian/Ubuntu and RHEL/CentOS.

nodejs_install_npm_user: "{{ ansible_ssh_user }}"

The user for whom the npm packages will be installed can be set here, this defaults to ansible_user.

npm_config_prefix: "/usr/local/lib/npm"

The global installation directory. This should be writeable by the nodejs_install_npm_user.

npm_config_unsafe_perm: "false"

Set to true to suppress the UID/GID switching when running package scripts. If set explicitly to false, then installing as a non-root user will fail.

nodejs_npm_global_packages: []

A list of npm packages with a name and (optional) version to be installed globally. For example:

nodejs_npm_global_packages:
  # Install a specific version of a package.
  - name: jslint
    version: 0.9.3
  # Install the latest stable release of a package.
  - name: node-sass
  # This shorthand syntax also works (same as previous example).
  - node-sass
nodejs_package_json_path: ""

Set a path pointing to a particular package.json (e.g. "/var/www/app/package.json"). This will install all of the defined packages globally using Ansible's npm module.

Dependencies

None.

Example Playbook

- hosts: utility
  vars_files:
    - vars/main.yml
  roles:
    - geerlingguy.nodejs

Inside vars/main.yml:

nodejs_npm_global_packages:
  - name: jslint
  - name: node-sass

License

MIT / BSD

Author Information

This role was created in 2014 by Jeff Geerling, author of Ansible for DevOps.

None