【发布时间】:2018-09-07 01:36:49
【问题描述】:
在设置我的 VM 时,我想让 playbook 运行 DB 迁移以及一些 npm 命令。这是代码sn-p:
- name: Run DB Migration
shell: rake db:migrate
args:
chdir: /opt/site
sudo: no
- name: Install bower and grunt
command: "npm install -g bower grunt-cli"
args:
chdir: /opt/site
sudo: no
- name: Install bower packages
command: "bower install"
args:
chdir: /opt/site
sudo: no
- name: Install npm packages
command: "npm install"
args:
chdir: /opt/site
sudo: no
npm 东西的错误说:
TASK: [site | Install bower and grunt] ******************************
failed: [default] => {"cmd": "npm install -g bower grunt-cli", "failed": true, "item": "", "rc": 2}
msg: [Errno 2] No such file or directory
rake 的错误是:
TASK: [salemarked-api | Run DB Migration] *************************************
failed: [default] => {"changed": true, "cmd": " rake db:migrate ", "delta": "0:00:00.002664", "end": "2015-01-01 00:40:03.915189", "item": "", "rc": 127, "start": "2015-01-01 00:40:03.912525"}
stderr: /bin/bash: rake: command not found
我已经尝试将executable: /bin/bash 添加到 rake 命令中,但这也不起作用。
当我 ssh 进入虚拟机时,我能够毫无问题地运行这些命令。
非常感谢任何帮助。
【问题讨论】:
-
@JacobBudin 是的,我还有另一个安装节点和 npm 的剧本角色。如前所述,我能够在 VM 本身中成功运行这些命令。
-
能否给出运行 npm 和 rake 命令的完整路径?
标签: ruby npm vagrant bower ansible