相关疑难解决方法(0)

`execute` 作为 vagrant 用户,而不是 root,使用主厨独奏?

我正在尝试运行以下厨师命令:

# 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

11
推荐指数
3
解决办法
1万
查看次数

标签 统计

vagrant ×1