1

我有时在运行时遇到此错误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'

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

4

2 回答 2

1

这似乎是 Berkshelf 3.1.3 中的一个错误,已在 3.1.4 中修复

bundle update berkshelf

从您的 Chef 目录中应该修复它,或者将 Berkshelf 修复为:

gem 'berkshelf', '>= 3.1.4'
于 2014-11-11T04:26:38.187 回答
0

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

gem 'berkshelf', git: 'git://github.com/berkshelf/berkshelf.git'
于 2014-07-14T10:00:54.353 回答