1

我只是想为 nginx 安装乘客,但安装乘客 gem 失败。这是我的食谱中的内容:

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
4

1 回答 1

1

我没有看到您的厨师食谱片段有任何问题。错误消息表明在 shell 中执行 rvm 失败,因为 /etc/profile.d/rvm.sh 不存在。

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

如果你这样做了,你这样做的方式是否可以立即在你的 Chef 运行中使用?

于 2012-12-18T05:57:34.597 回答