2016-05-21 2 views
-1

я следующую команду и она не работает, когда я запустить его с помощью анзиблькоманда анзибль не работает, когда я пытаюсь запустить НПМ с помощью демона

- hosts: localhost 
    connection: local 
    remote_user: ubuntu 
    sudo: yes 
    sudo_user: webuser 
    tasks: 
     - name: Start web ui 
     command: /usr/bin/daemon --name=web_ui --output=log.txt --chdir=/web --command="/usr/share/node/bin/npm run start" 

Запуск анзибль

[email protected]:~# ansible-playbook -i "localhost," -c local ansible-local/setup_feee__.yml 

PLAY [localhost] ************************************************************** 

GATHERING FACTS *************************************************************** 
ok: [localhost] 

TASK: [Start web ui] ********************************************************** 
changed: [localhost] 

PLAY RECAP ******************************************************************** 
localhost     : ok=2 changed=1 unreachable=0 failed=0 

[email protected]:~# lsof -i | grep 3000 
[email protected]:~# 

Но затем я выполняю его вручную, он работает

[email protected]:~$ /usr/bin/daemon --name=web_ui --output=log.txt --chdir=/web --command="/usr/share/node/bin/npm run start" 

[email protected]:~$ lsof -i | grep 3000 
node 19169 webuser 11u IPv4 127637  0t0 TCP localhost:3000 (LISTEN) 

Что не так с моей командой ansible?

ответ

0

Я вижу разницу между npm run start и /usr/share/node/bin/npm start.

Если npm не находится в корневом каталоге PATH, это не сработает. Укажите полный путь для npm или добавьте его местоположение в PATH.

Вы хотите позвонить по телефону npm run start или npm start?

Также есть файл журнала (или даже вывод ansible), в котором говорится, что npm не найден. Всегда ищите их.