我正在尝试运行以下厨师命令:
# install zombiejs, q (promises), should, coffee-script & mocha
execute "install q and zombiejs" do
cwd "/home/vagrant"
user "vagrant"
action :run
command "npm install -g q zombie should mocha coffee-script"
end
Run Code Online (Sandbox Code Playgroud)
但它一直失败,因为它找不到npm
:
执行[安装q和zombiejs](chef-redtail::default line 205)有一个错误:Errno::ENOENT: No such file or directory - npm install -gq Zombie should mocha coffee-script
通过登录 vagrantvagrant ssh
并手动运行命令可以正常工作。以 root 身份登录,通过sudo -i
并运行命令失败,原因与厨师食谱失败的原因相同(npm 仅为 vagrant 用户安装在本地,而不是为 root 安装:这就是我想要的)。
那么......我如何指定这个厨师execute
块以流浪用户而不是root用户身份运行?
更新:我认为这总结了我的问题:
(ssh) /vagrant git:backbone ? whoami
vagrant
(ssh) /vagrant git:backbone …
Run Code Online (Sandbox Code Playgroud) vagrant ×1