在厨师上安装宝石的问题

时间:2015-01-14 18:20:51

标签: gem chef berkshelf

我正在尝试安装Berkshelf,但是它没有安装一个名为retryable的gem,所以我做了以下

gem_package 'retryable'

gem_package 'berkshelf

为什么这会在厨师日志中继续发生:

    Unable to resolve dependencies: berkshelf requires retryable (~> 1.3.3)
---- End output of C:\opscode\chef\embedded\bin\gem install berkshelf -q --no-rdoc --no-ri -v "3.2.2" ----
Ran C:\opscode\chef\embedded\bin\gem install berkshelf -q --no-rdoc --no-ri -v "3.2.2" returned 1

即使我可以清楚地看到正在安装可重试的地方:

[2015-01-14T17:55:00+00:00] INFO: Processing gem_package[retryable] action install (go-agent::install line 14)
[2015-01-14T17:55:02+00:00] INFO: Processing gem_package[berkshelf] action install (go-agent::install line 16

怎么回事?

编辑: 强迫它安装我想要的版本(v 2.0.0的可重试,因为ridley需要那个以及berkshelf)我现在得到这个错误:

[2015-01-15T11:11:20+00:00] FATAL: Mixlib::ShellOut::CommandTimeout: gem_package[berkshelf] (go-agent::install line 19) had an error: Mixlib::ShellOut::CommandTimeout: command timed out:
---- Begin output of C:\opscode\chef\embedded\bin\gem install berkshelf -q --no-rdoc --no-ri -v "3.2.3" ----
STDOUT: 
STDERR: 
---- End output of C:\opscode\chef\embedded\bin\gem install berkshelf -q --no-rdoc --no-ri -v "3.2.3" ----

1 个答案:

答案 0 :(得分:1)

retryable的最新版本是2.0.0,因此这是您通过第一个gem_package安装的版本。您正在使用gem_package但是您没有安装Ruby,因此它无法回到Chef(它真的不应该)并且我猜测它有某种依赖性冲突正在发生。尝试强制retryable版本1.3.6,最新版本与Berkshelf兼容。