xoy*_*yip 5 gem ruby-on-rails chef-infra vagrant chef-solo
我正在尝试使用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:
我该如何解决这个问题?
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
Run Code Online (Sandbox Code Playgroud)
2.创建Chef存储库并将chef安装到VM
$ knife solo init chefrepo
$ knife solo prepare vagrant@192.168.33.10 # vagrant VMs IP
Run Code Online (Sandbox Code Playgroud)
3.从OpsCode进口公共食谱
$ knife cookbook site vendor rbenv
Run Code Online (Sandbox Code Playgroud)
这导入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
Run Code Online (Sandbox Code Playgroud)
5.cook
$ knife solo cook vagrant@192.168.33.10
Run Code Online (Sandbox Code Playgroud)
然后得到如下错误.
# 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.
Run Code Online (Sandbox Code Playgroud)
Rails可以$ sudo gem install rails在VM 上安装.这需要大约20分钟或更长时间.
我不确定您的环境限制是什么,但一种可能的解决方案是使用不同的操作系统。几周前,我在 CentOS 6.3 和 Vagrant 上遇到了非常类似的问题,并花了几天时间解决这个问题。一旦我切换到 Ubuntu,就像切热黄油一样。
| 归档时间: |
|
| 查看次数: |
894 次 |
| 最近记录: |