Berkshelf ::运行berks安装时的CommunitySiteError

时间:2014-07-14 07:43:39

标签: chef 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 ''.
    /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'

我的Berkshelf是:

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'

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

2 个答案:

答案 0 :(得分:1)

这似乎是Berkshelf 3.1.3中的一个fixed in 3.1.4的错误。

bundle update berkshelf
您的Chef目录中的

应该修复它,或者将Berkshelf修复为:

gem 'berkshelf', '>= 3.1.4'

答案 1 :(得分:0)

此PR已解决:https://github.com/berkshelf/berkshelf/pull/1258 但它没有被添加到宝石中。目前,这可以通过使用它的git repo

来解决
gem 'berkshelf', git: 'git://github.com/berkshelf/berkshelf.git'