2016-05-10 3 views
3

Для установки версии узла 6.x эти команды:анзибль установить Node.js версии 6

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - 
sudo apt-get install -y nodejs 

теперь, как именно я могу сделать это в анзибль? любые идеи здесь?

это то, что у меня было до сих пор, но она устанавливает старую версию

--- 
- name: Ensure Ubuntu Distro is Supported 
    get_url: 
    url='https://deb.nodesource.com/node/dists/"{{ ansible_distribution_release }}"/Release' 
    dest=/dev/null 
    register: distrosupported 


- name: Remove Old Chris Lea PPA 
    apt_repository: 
    repo='ppa:chris-lea/node.js' 
    state=absent 
    when: distrosupported|success 
    ignore_errors: yes 

- name: Remove Old Chris Lea Sources 
    sudo: yes 
    file: 
    path='/etc/apt/sources.list.d/chris-lea-node_js-"{{ ansible_distribution_release }}".list' 
    state=absent 
    when: distrosupported|success 
    ignore_errors: yes 

- name: Add Nodesource Keys 
    sudo: yes 
    apt_key: 
    url=https://deb.nodesource.com/gpgkey/nodesource.gpg.key 
    state=present 

- name: Add Nodesource Apt Sources List Deb 
    sudo: yes 
    apt_repository: 
    repo='deb https://deb.nodesource.com/node "{{ ansible_distribution_release }}" main' 
    state=present 
    when: distrosupported|success 

- name: Add Nodesource Apt Sources List Deb Src 
    sudo: yes 
    apt_repository: 
    repo='deb-src https://deb.nodesource.com/node "{{ ansible_distribution_release }}" main' 
    state=present 
    when: distrosupported|success 

- name: Install NodeJS 
    sudo: yes 
    apt: pkg=nodejs state=latest update_cache=true 
    when: distrosupported|success 





- debug: msg="{{npm_pkgs}}" 


- name: install global npm packages 
    sudo: yes 
    npm: name={{item}} global=yes state=latest 
    with_items: "{{npm_pkgs}}" 
+0

добавил свой старый и текущий код –

+0

Так что же случилось с тем, что вы уже пробовали? – ydaetskcoR

+0

шахта устанавливает версию узла 0.1, я хочу версию 6. Я узел docs вы делаете это следующим образом: curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y nodejs –

ответ

6

Я использовал этот сборник пьес для установки узла 6.1.0 через NVM (узел версии менеджер):

Примечание: Возможно, вам придется изменить хосты и соединение в игре.

--- 
- hosts: localhost 
    connection: local 
    vars: 
    node_version: 6.1.0 
    tasks: 
    - name: Download the nvm(node version manager) install script 
     get_url: url=https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh dest=/tmp/install.sh 

    - name: Install dependencies 
     apt: pkg={{ item }} update_cache=yes cache_valid_time=3600 
     with_items: 
     - git 
     - curl 
     - build-essential 
     - libssl-dev 
     become: yes 
     become_user: root 

    - name: Execute the nvm install script 
     shell: bash install.sh chdir=/tmp executable=/bin/bash 

    - name: Register the NVM_DIR 
     shell: echo $NVM_DIR 
     register: nvm_dir 

    - name: Install the specified node version using the nvm command and set it as default 
     shell: . {{ nvm_dir.stdout }}/nvm.sh && nvm install {{ node_version }} && nvm run {{node_version}} --version && nvm alias default {{node_version}} 
      creates=~/.nvm/versions/node/v{{ node_version }} 

Для получения дополнительной информации о NVM, см: https://github.com/creationix/nvm

2

на основе кода в исходный вопрос, и helpful comment from @ydaetskcoR, я был в состоянии установить NodeJS 6.x следующим на Ubuntu 16.04:

- name: Add Nodesource Keys 
    become: yes 
    apt_key: 
    url: https://deb.nodesource.com/gpgkey/nodesource.gpg.key 
    state: present 

# Note: "xenial" is ubuntu-speak for 16.04 
- name: Add Nodesource Apt Sources 
    become: yes 
    apt_repository: 
    repo: '{{ item }}' 
    state: present 
    with_items: 
    - 'deb https://deb.nodesource.com/node_6.x xenial main' 
    - 'deb-src https://deb.nodesource.com/node_6.x xenial main' 

- name: Install NodeJS and NPM 
    become: yes 
    apt: 
    name: '{{ item }}' 
    state: latest 
    update_cache: yes 
    with_items: 
    - nodejs 
    - nodejs-legacy 
    - npm 

Я переработан немного для краткости, но самое главное, добавление _6.x в репозиторий URL.

Это работает для меня, используя анзибль 2.3.2.0