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をインストールする役割を提案したりできますか?
これが実際の例です:
---
- 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
それがあなたを助けることを願っています
私がこれをしなければならなかったことに本当に満足しているわけではありませんが...
(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のものが見当たらないためです(私は注意深く、疑わしいです)。
私の開発マシンには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
以下を使用できます。
ansible-galaxy install nodesource.node
プレイブックにroles: - nodesource.node
を追加します