Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 无法使用Chef-Solo在流浪虚拟CentOS机器上安装Rails gem大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Vagrant和Chef-Solo在CentOS 6.3 64bit上设置rails环境.

使用厨师时无法安装Rails,并显示错误消息,

Mixlib::SHellOut::CommandTimeout: rbenv_gem[rails] (main::default line 21) had an error: Mixlib::SHell
Out::CommandTimeout: command timed out:

我该如何解决这个问题?

ENV

>操作系统:Mac OS X 10.8.2
>虚拟盒子:4.2.12
>流浪汉:1.1.5
>厨师:11.4.0
>刀独奏:0.3.0

我的步骤

1.创造流浪汉VM

$vagrant box add centos https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box`
$vagrant init centos
$vagrant up

2.创建Chef存储库并将chef安装到VM

$knife solo init chefrepo
$knife solo prepare vagrant@192.168.33.10 # vagrant VMs IP

3.从OpsCode进口公共食谱

$knife cookbook site vendor rbenv

这导入rbenv食谱到chefrepo / cookbooks / rbenv

4.创建我的食谱并修改default.rb

$knife cookbook create main -o site-cookbooks
$vi site-cookbooks/main/recipes/default.rb


include_recipe 'rbenv::default'
include_recipe 'rbenv::ruby_build'

rbenv_ruby "2.0.0-p0" do
  global true
end

rbenv_gem "rails" do
  ruby_version "2.0.0-p0"
end

5.cook

$knife solo cook vagrant@192.168.33.10

然后得到如下错误.

# Declared in /home/vagrant/chef-solo/site-cookbooks/main/recipes/default.rb:21:in `from_file'

rbenv_gem("rails") do
  provider Chef::Provider::Package::rbenvRubygems
  action :install
  retries 0
  retry_delay 2
  cookbook_name :main
  recipe_name "default"
  ruby_version "2.0.0-p0"
  package_name "rails"
  gem_binary "/opt/rbenv/shims/gem"
  version "3.2.13"
end


[2013-04-17T12:00:13+02:00] ERROR: Running exception handlers
[2013-04-17T12:00:13+02:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated
[2013-04-17T12:00:13+02:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2013-04-17T12:00:13+02:00] FATAL: Mixlib::SHellOut::CommandTimeout: rbenv_gem[rails] (main::default line 21) had an error: Mixlib::SHell
Out::CommandTimeout: command timed out:
---- Begin output of /opt/rbenv/versions/2.0.0-p0/bin/gem install rails -q --no-rdoc --no-ri -v "3.2.13" ----
STDOUT: 
STDERR: 
---- End output of /opt/rbenv/versions/2.0.0-p0/bin/gem install rails -q --no-rdoc --no-ri -v "3.2.13" ----

ERROR: RuntimeError: chef-solo failed. See output above.

手动安装

可以通过$sudo gem install rails在VM上安装Rails.这需要大约20分钟或更长时间.

解决方法

我不确定您的环境限制是什么,但一种可能的解决方案是使用不同的操作系统.几个星期前我和CentOS 6.3和Vagrant有一个非常类似的问题,花了几天时间.一旦我切换到Ubuntu就像切热的黄油一样.

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 无法使用Chef-Solo在流浪虚拟CentOS机器上安装Rails gem全部内容,希望文章能够帮你解决ruby-on-rails – 无法使用Chef-Solo在流浪虚拟CentOS机器上安装Rails gem所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。