我有以下命令,当我使用ansible
运行它时它不起作用- 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"
运行ansible
root@ip-172:~# 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
root@ip-172:~# lsof -i | grep 3000
root@ip-172:~#
然后我手动执行它
webuser@ip-172:~$ /usr/bin/daemon --name=web_ui --output=log.txt --chdir=/web --command="/usr/share/node/bin/npm run start"
webuser@ip-172:~$ lsof -i | grep 3000
node 19169 webuser 11u IPv4 127637 0t0 TCP localhost:3000 (LISTEN)
我的ansible命令有什么问题?
答案 0 :(得分:0)
我发现npm run start
和/usr/share/node/bin/npm start
之间存在差异。
如果npm
不在根PATH
中,则无效。
指定npm
的完整路径,或将其位置添加到PATH
。
是否要致电npm run start
或npm start
?
此外,可能还有一个日志文件(甚至是ansible
的输出),表示找不到npm
。一直在寻找那些。