--- # file: tasks/use-apt.yml # # Configure Node.js from APT repository. # # @see https://github.com/nodesource/distributions # - name: install add-apt-repository and https binaries for Ansible to work apt: name={{ item }} state=present update_cache=yes with_items: - python-software-properties - apt-transport-https - name: install tools for compiling native addons from npm apt: name={{ item }} state=present with_items: - build-essential when: nodejs_compile - name: add NodeSource key apt_key: data="{{ lookup('file', 'nodesource.gpg.key') }}" state=present - name: add NodeSource repository for Node.js 4.0 (deb) apt_repository: repo='deb https://deb.nodesource.com/node_4.x {{ ansible_distribution_release|lower }} main' state=present when: (nodejs_version is defined) and nodejs_version|version_compare('4.0', '>=') - name: add NodeSource repository for Node.js 0.12 (deb) apt_repository: repo='deb https://deb.nodesource.com/node_0.12 {{ ansible_distribution_release|lower }} main' state=present when: nodejs_version is defined - name: add NodeSource repository for Node.js 0.10 (deb) apt_repository: repo='deb https://deb.nodesource.com/node_0.10 {{ ansible_distribution_release|lower }} main' state=present when: nodejs_version is defined - name: add NodeSource repository for Node.js 4.0 (deb-src) apt_repository: repo='deb-src https://deb.nodesource.com/node_4.x {{ ansible_distribution_release|lower }} main' state=present when: (nodejs_version is defined) and nodejs_version|version_compare('4.0', '>=') - name: add NodeSource repository for Node.js 0.12 (deb-src) apt_repository: repo='deb-src https://deb.nodesource.com/node_0.12 {{ ansible_distribution_release|lower }} main' state=present when: nodejs_version is defined - name: add NodeSource repository for Node.js 0.10 (deb-src) apt_repository: repo='deb-src https://deb.nodesource.com/node_0.10 {{ ansible_distribution_release|lower }} main' state=present when: nodejs_version is defined - name: add NodeSource repository for io.js 3.x (deb) apt_repository: repo='deb https://deb.nodesource.com/iojs_3.x {{ ansible_distribution_release|lower }} main' state=present when: iojs_version is defined - name: add NodeSource repository for io.js 2.x (deb) apt_repository: repo='deb https://deb.nodesource.com/iojs_2.x {{ ansible_distribution_release|lower }} main' state=present when: iojs_version is defined - name: add NodeSource repository for io.js 1.x (deb) apt_repository: repo='deb https://deb.nodesource.com/iojs_1.x {{ ansible_distribution_release|lower }} main' state=present when: iojs_version is defined - name: add NodeSource repository for io.js 3.x (deb-src) apt_repository: repo='deb-src https://deb.nodesource.com/iojs_3.x {{ ansible_distribution_release|lower }} main' state=present when: iojs_version is defined - name: add NodeSource repository for io.js 2.x (deb-src) apt_repository: repo='deb-src https://deb.nodesource.com/iojs_2.x {{ ansible_distribution_release|lower }} main' state=present when: iojs_version is defined - name: add NodeSource repository for io.js 1.x (deb-src) apt_repository: repo='deb-src https://deb.nodesource.com/iojs_1.x {{ ansible_distribution_release|lower }} main' state=present when: iojs_version is defined - name: install Node.js with specific version apt: name={{ item }} update_cache=yes state=present force=yes with_items: [ "nodejs={{ nodejs_version }}*" ] when: nodejs_version is defined - name: install io.js with specific version apt: name={{ item }} update_cache=yes state=present force=yes with_items: [ "iojs={{ iojs_version }}*" ] when: iojs_version is defined