geforkt von cisti/infra
41 Zeilen
1,2 KiB
YAML
41 Zeilen
1,2 KiB
YAML
---
|
|
- include: setup.yml
|
|
|
|
- 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
|
|
become: yes
|
|
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.
|
|
become: yes
|
|
template:
|
|
src: npm.sh.j2
|
|
dest: /etc/profile.d/npm.sh
|
|
mode: 0644
|
|
|
|
- name: Ensure npm global packages are installed.
|
|
become: yes
|
|
npm:
|
|
name: "{{ item.name | default(item) }}"
|
|
version: "{{ item.version | default('latest') }}"
|
|
global: true
|
|
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 }}"
|
|
tags: ['skip_ansible_lint']
|
|
|
|
- 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
|