diff --git a/nodejs-linux.yaml b/nodejs-linux.yaml new file mode 100644 index 0000000..4df7f30 --- /dev/null +++ b/nodejs-linux.yaml @@ -0,0 +1,28 @@ +--- +- name: nodejs get json containing latest version + uri: + url: https://nodejs.org/dist/index.json + register: latest + +- name: nodejs create directory for downloaded package + file: + state: directory + dest: ~/.local/src + +- name: nodejs download latest package + get_url: + url: 'https://nodejs.org/dist/{{latest.json[0].version}}/node-{{latest.json[0].version}}-linux-x64.tar.gz' + dest: ~/.local/src/node.tar.gz + +- name: nodejs extract downloaded package + unarchive: + src: ~/.local/src/node.tar.gz + dest: ~/.local/src + remote_src: true + +- name: nodejs create symlink links + file: + state: link + src: '~/.local/src/node-{{latest.json[0].version}}-linux-x64/bin/{{item}}' + dest: '~/.local/bin/{{item}}' + with_items: [corepack, node, npm, npx] diff --git a/tasks.yaml b/tasks.yaml index 7485064..f753cfe 100644 --- a/tasks.yaml +++ b/tasks.yaml @@ -15,6 +15,16 @@ state: latest extra_args: --user +- name: (neo)vim install node.js Linux + when: ansible_system == "Linux" + include_tasks: nodejs-linux.yaml +- name: (neo)vim install node.js macOS + when: ansible_os_family == "Darwin" + homebrew: name=node state=latest +- name: (neo)vim install node.js Windows + when: ansible_os_family == "Windows" + win_chocolatey: name=nodejs state=latest + - name: (neo)vim install apt packages when: ansible_distribution == 'Ubuntu' and ansible_distribution_release == '20.04'