42 lines
1.2 KiB
YAML
42 lines
1.2 KiB
YAML
|
---
|
||
|
- include: setup-RedHat.yml
|
||
|
when: ansible_os_family == 'RedHat'
|
||
|
|
||
|
- include: setup-Debian.yml
|
||
|
when: ansible_os_family == 'Debian'
|
||
|
|
||
|
- name: Define nodejs_install_npm_user
|
||
|
set_fact:
|
||
|
nodejs_install_npm_user: "{{ ansible_user | default(lookup('env', 'USER')) }}"
|
||
|
when: nodejs_install_npm_user is not defined
|
||
|
|
||
|
- name: Create npm global directory
|
||
|
file:
|
||
|
path: "{{ npm_config_prefix }}"
|
||
|
owner: "{{ nodejs_install_npm_user }}"
|
||
|
group: "{{ nodejs_install_npm_user }}"
|
||
|
state: directory
|
||
|
|
||
|
- name: Add npm_config_prefix bin directory to global $PATH.
|
||
|
template:
|
||
|
src: npm.sh.j2
|
||
|
dest: /etc/profile.d/npm.sh
|
||
|
mode: 0644
|
||
|
|
||
|
- name: Ensure npm global packages are installed.
|
||
|
npm:
|
||
|
name: "{{ item.name | default(item) }}"
|
||
|
version: "{{ item.version | default('latest') }}"
|
||
|
global: yes
|
||
|
state: latest
|
||
|
environment:
|
||
|
NPM_CONFIG_PREFIX: "{{ npm_config_prefix }}"
|
||
|
NODE_PATH: "{{ npm_config_prefix }}/lib/node_modules"
|
||
|
NPM_CONFIG_UNSAFE_PERM: "{{ npm_config_unsafe_perm }}"
|
||
|
with_items: "{{ nodejs_npm_global_packages }}"
|
||
|
|
||
|
- name: Install packages defined in a given package.json.
|
||
|
npm:
|
||
|
path: "{{ nodejs_package_json_path }}"
|
||
|
when: nodejs_package_json_path is defined and nodejs_package_json_path
|