2016-04-13 19 views
0

Zsh yüklü bir makinem var.npm ve nodu çalışabilir durumda çalıştırın

:

Kurulum ben örneğine bağlanmak ve aşağıdaki komut dosyasını başlayacak yanıtlayıcı '-taktik kitabı çalıştırmak istiyorum Şimdi

# Install NVM 
sudo curl https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash 
## Reload shell to start using nvm 
. ~/.zshrc 
. ~/.nvm/nvm.sh 
nvm install 0.12 

yaptı: Bazı yüklemelerini yapmak için aşağıdaki komut dosyasını oluşturdu sh-script.sh

npm install aws-sdk 


node create-queue.js $machine_name 
node create-queue.js $machine_name 

Yürütme kitabını çalıştırırken aşağıdaki hataları elde ediyorum: satır 28: npm: komut bulunamadı - satır 32: düğüm: komut bulunamadı - satır 33: düğüm: komut bulunamadı.

Örneğe ssh ettiğimde ve "node" veya "npm" yi çalıştırdığımda geçerli yanıt ve istenen koşulu alıyorum. yanıtlayıcı '-oyun kitabı çok basit:

yanıtlayıcı'

- hosts: tag_Name_TestInstance 
    tasks: 
    - name: Run Script 
     shell: /home/ubuntu/sh-script.sh '{{ machine_name }}' 

cevap

0

npm ve düğüm $PATH eklenmemiş çünkü bu muhtemeldir. Kabuk modülü, komutunuzu çalıştırmak için /bin/sh kullanır.

Eğer zsh komut dosyası çalıştırmak istiyorsanız, zsh kurulum ör yolu ile shebang eklemeyi deneyin: !#/usr/local/bin/zsh

1

bu çözmek için en iyi yol IMHO yanıtlayıcı 'env için ek bin yolunu eklemektir .

- name: Install aws-sdk 
    command: /opt/node/bin/npm "something" 
    environment: 
     PATH: "{{ ansible_env.PATH }}:/opt/node/bin" 

veya düğümün js komut dosyasını çalıştırmak için yerel yanıtlayıcı 'npm fonksiyonunu

description: Install "aws-sdk" node.js package. 
    - npm: name=aws-sdk path=/app/location 
    environment: 
     PATH: "{{ ansible_env.PATH }}:/opt/node/bin" 

ve iki diğer görevleri kullanabilirsiniz. Bu şekilde neler olup bittiğine dair daha fazla bilgiye sahip olabilirsiniz.

iyi şanslar

+0

Teşekkürler @nelasx Bir çekicilik gibi çalışır! D –