web-dev-qa-db-ja.com

Ansible用のNodeJS LTSのインストール

Ubuntu 16.04.3 xenialシステムにNodeJS LTSをインストールするための適切なAnsible RoleまたはAnsible YAMLファイルを探しています。 Galaxyから10以上のAnsibleロールを試してみましたが、どれも機能していませんでした(potentially dangerous to add this PPA etc.などのエラーがスローされます)。

誰かがAnsibleプレイブックを提供したり、Ubuntu 16.04にNodeJS LTSをインストールする役割を提案したりできますか?

10
Janshair Khan

これが実際の例です:

---
- hosts: all
  gather_facts: yes
  become: yes
  vars:
    NODEJS_VERSION: "8"
    ansible_distribution_release: "xenial" #trusty
  tasks:
    - name: Install the gpg key for nodejs LTS
      apt_key:
        url: "https://deb.nodesource.com/gpgkey/nodesource.gpg.key"
        state: present

    - name: Install the nodejs LTS repos
      apt_repository:
        repo: "deb https://deb.nodesource.com/node_{{ NODEJS_VERSION }}.x {{ ansible_distribution_release }} main"
        state: present
        update_cache: yes

    - name: Install the nodejs
      apt:
        name: nodejs
        state: present

それがあなたを助けることを願っています

16
Arbab Nazar

私がこれをしなければならなかったことに本当に満足しているわけではありませんが...

env:Ubuntu 18.04、ansible 2.6.1、ホスト:macOS

から https://github.com/nodesource/distributions/blob/master/README.md#debinstall

- name: install node 
  Shell: |
    curl -sL https://deb.nodesource.com/setup_10.x | Sudo -E bash - && Sudo apt-get install -y nodejs

結果:

> vagrant@vagrant:~$ node --version
v10.15.2

そしてnpmも一緒に来たはずです:

vagrant@vagrant:~$ npm --version
6.4.1

私がこれを実行したとき、 https://www.npmjs.com/package/npm が表示されていました6.8.06.4.1が6か月前からの最新のものとして。 Nodeは10.15.2を5日前の10.xシリーズの最新として表示していました。

ところで、私も試しましたapt-getしかし、10.xではなくノード8.xで終了しました

そして、私がansible galaxyの役割を使用しなかった理由は、有名な作者からのものであり、多くのスターやダウンロードが含まれているように見えるnodejsのものが見当たらないためです(私は注意深く、疑わしいです)。

npmの更新

私の開発マシンには6.8.0だから私はこれを追加しました:

vars.yml

versions:
  npm: "6.8.0"

playbook.yml

- name: npm self-update
  command: npm install npm@{{ versions.npm }} -g

それは私にすべての方法をもたらしました:

vagrant@vagrant:~$ npm --version
6.8.0
2
JL Peyret

以下を使用できます。

ansible-galaxy install nodesource.node

プレイブックにroles: - nodesource.nodeを追加します

0
fritz_da_silva