main.yml 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. ---
  2. - include: setup.yml
  3. - name: Define nodejs_install_npm_user
  4. set_fact:
  5. nodejs_install_npm_user: "{{ ansible_user | default(lookup('env', 'USER')) }}"
  6. when: nodejs_install_npm_user is not defined
  7. - name: Create npm global directory
  8. become: yes
  9. file:
  10. path: "{{ npm_config_prefix }}"
  11. owner: "{{ nodejs_install_npm_user }}"
  12. group: "{{ nodejs_install_npm_user }}"
  13. state: directory
  14. - name: Add npm_config_prefix bin directory to global $PATH.
  15. become: yes
  16. template:
  17. src: npm.sh.j2
  18. dest: /etc/profile.d/npm.sh
  19. mode: 0644
  20. - name: Ensure npm global packages are installed.
  21. become: yes
  22. npm:
  23. name: "{{ item.name | default(item) }}"
  24. version: "{{ item.version | default('latest') }}"
  25. global: true
  26. state: latest
  27. environment:
  28. NPM_CONFIG_PREFIX: "{{ npm_config_prefix }}"
  29. NODE_PATH: "{{ npm_config_prefix }}/lib/node_modules"
  30. NPM_CONFIG_UNSAFE_PERM: "{{ npm_config_unsafe_perm }}"
  31. with_items: "{{ nodejs_npm_global_packages }}"
  32. tags: ['skip_ansible_lint']
  33. - name: Install packages defined in a given package.json.
  34. npm:
  35. path: "{{ nodejs_package_json_path }}"
  36. when: nodejs_package_json_path is defined and nodejs_package_json_path