我正在尝试使用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就像切热的黄油一样.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。