Chef infra 运行berks安装时出现Berkshellf::CommunitySiteError

Chef infra 运行berks安装时出现Berkshellf::CommunitySiteError,chef-infra,chef-solo,berkshelf,berksfile,Chef Infra,Chef Solo,Berkshelf,Berksfile,我有时在运行berks install时会遇到此错误。但有时它可以正常运行。这很奇怪,我使用Berkshelf(3.1.3)。错误如下: E, [2014-07-14T15:36:13.966457 #21077] ERROR -- : Actor crashed! Berkshelf::CommunitySiteError: An unexpected error occurred retrieving 'limits' (0.2.0) from the cookbook site at ''

我有时在运行
berks install
时会遇到此错误。但有时它可以正常运行。这很奇怪,我使用Berkshelf(3.1.3)。错误如下:

E, [2014-07-14T15:36:13.966457 #21077] ERROR -- : Actor crashed!
Berkshelf::CommunitySiteError: An unexpected error occurred retrieving 'limits' (0.2.0) from the cookbook site at ''.
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/berkshelf-3.1.3/lib/berkshelf/community_rest.rb:123:in `find'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/berkshelf-3.1.3/lib/berkshelf/community_rest.rb:100:in `download'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/berkshelf-3.1.3/lib/berkshelf/downloader.rb:53:in `try_download'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/berkshelf-3.1.3/lib/berkshelf/downloader.rb:33:in `block in download'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/berkshelf-3.1.3/lib/berkshelf/downloader.rb:32:in `each'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/berkshelf-3.1.3/lib/berkshelf/downloader.rb:32:in `download'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/berkshelf-3.1.3/lib/berkshelf/installer.rb:101:in `install'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/celluloid-0.16.0.pre2/lib/celluloid/calls.rb:26:in `public_send'
    /Users/tony/.rvm/gems/An unexpected error occurred retrieving 'dpkg_packages' (0.1.3) from the cookbook site at ''.
ruby-2.1.1/gems/celluloid-0.16.0.pre2/lib/celluloid/calls.rb:26:in `dispatch'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/celluloid-0.16.0.pre2/lib/celluloid/calls.rb:63:in `dispatch'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/celluloid-0.16.0.pre2/lib/celluloid/cell.rb:60:in `block in invoke'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/celluloid-0.16.0.pre2/lib/celluloid/cell.rb:71:in `block in task'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/celluloid-0.16.0.pre2/lib/celluloid/actor.rb:369:in `block in task'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/celluloid-0.16.0.pre2/lib/celluloid/tasks.rb:55:in `block in initialize'
    /Users/tony/.rvm/gems/ruby-2.1.1/gems/celluloid-0.16.0.pre2/lib/celluloid/tasks/task_fiber.rb:15:in `block in create'
我的是:

source "https://api.berkshelf.com"

cookbook 'users', '~> 1.7.0'
cookbook 'sudo', '~> 2.6.0'
cookbook 'chef-solo-search', '~> 0.5.1'
cookbook 'build-essential', '~> 2.0.4'

cookbook 'openssl', '~> 2.0.0'
cookbook 'hostname', '~> 0.3.0'
cookbook 'apt', '~> 2.4.0'
cookbook 'limits', '~> 0.2.0'
cookbook 'dpkg_packages', '~> 0.1.3'

如何解决这个问题?提前感谢。

此PR已解决此问题: 但它并没有添加到宝石中。目前,这可以通过使用git回购来解决

gem 'berkshelf', git: 'git://github.com/berkshelf/berkshelf.git'

这似乎是Berkshelf 3.1.3中的一个bug

从您的Chef目录中,应将其修复,或将其修复为:

gem 'berkshelf', '>= 3.1.4'

这个问题似乎离题了,因为它是关于软件中的一个bug的,这个bug已经被报告并修复在头部。
gem 'berkshelf', '>= 3.1.4'