无法使用Chef为RVM gemset安装gem

时间:2012-12-10 01:09:46

标签: ruby gem rvm chef

我只是尝试为nginx安装乘客但是安装乘客宝石失败了。这就是我的食谱中的内容:

rvm_gem "passenger" do
  ruby_string "ruby-1.9.3-p194@env"
  action      :install
end

# install nginx for rails
execute "passenger_module1" do
  user "#{node[:user][:name]}"
  environment ({'HOME' => "/home/#{node[:user][:name]}"})
  command "rvmsudo passenger-install-nginx-module --auto | bash"
  action :run
end

这是错误消息:

[2012-12-10T01:05:52+00:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: rvm_gem[passenger] (main::default line 127) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of bash -c "source /etc/profile.d/rvm.sh && rvm version | cut -d ' ' -f 2" ----
STDOUT: 
STDERR: bash: /etc/profile.d/rvm.sh: No such file or directory
---- End output of bash -c "source /etc/profile.d/rvm.sh && rvm version | cut -d ' ' -f 2" ----
Ran bash -c "source /etc/profile.d/rvm.sh && rvm version | cut -d ' ' -f 2" returned 1

1 个答案:

答案 0 :(得分:1)

我发现您的Chef配方片段没有任何问题。错误消息表明shell中rvm的执行失败,因为/etc/profile.d/rvm.sh不存在。

这让我觉得你可能没有在这个节点上安装rvm。你在节点上安装了rvm吗?

如果你这样做了,你是否以一种能让它立即在你的厨师运行中使用的方式做到了?