main.yml 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. file:
  9. path: "{{ npm_config_prefix }}"
  10. owner: "{{ nodejs_install_npm_user }}"
  11. group: "{{ nodejs_install_npm_user }}"
  12. state: directory
  13. - name: Add npm_config_prefix bin directory to global $PATH.
  14. template:
  15. src: npm.sh.j2
  16. dest: /etc/profile.d/npm.sh
  17. mode: 0644
  18. - name: Ensure npm global packages are installed.
  19. npm:
  20. name: "{{ item.name | default(item) }}"
  21. version: "{{ item.version | default('latest') }}"
  22. global: true
  23. state: latest
  24. environment:
  25. NPM_CONFIG_PREFIX: "{{ npm_config_prefix }}"
  26. NODE_PATH: "{{ npm_config_prefix }}/lib/node_modules"
  27. NPM_CONFIG_UNSAFE_PERM: "{{ npm_config_unsafe_perm }}"
  28. with_items: "{{ nodejs_npm_global_packages }}"
  29. tags: ['skip_ansible_lint']
  30. - name: Install packages defined in a given package.json.
  31. npm:
  32. path: "{{ nodejs_package_json_path }}"
  33. when: nodejs_package_json_path is defined and nodejs_package_json_path