编辑:rubygems 2.4.4 中的错误。(在 2.4.5 中修复)
我在使用 chef_gem 资源安装带有 Chef Client v12.2.1 的嵌入式 ruby 时遇到问题:
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
chef_gem[zabbixapi] (generic_server_win::libzabbix-deps line 6) had an error: Mixlib::ShellOut::ShellCommand Failed: Expected process to exit with [0], but received '1'
---- Begin output of C:/opscode/chef/embedded/bin/gem install c:/chef/cache/zabbixapi-2.2.2.gem -q --no-rdoc --no-ri -v "2.2.2" ----
STDOUT:
STDERR: ERROR: While executing gem ... (Errno::EADDRNOTAVAIL)
The requested address is not valid in its context. - connect(2)
---- End output of C:/opscode/chef/embedded/bin/gem install c:/chef/cache/zabbixapi-2.2.2.gem -q --no-rdoc --no-ri -v "2.2.2" ----
Ran C:/opscode/chef/embedded/bin/gem install c:/chef/cache/zabbixapi-2.2.2.gem -q --no-rdoc --no-ri -v "2.2.2" returned 1
还:
- 使用 --local 选项以管理员身份在命令行上手动运行命令时的结果相同
- 其他宝石也会出现同样的错误。
- 我试图在其上运行它的服务器无法访问互联网
- 我无法在新安装的测试机器上重现问题(可以访问互联网)
- 使用的 ruby 版本是 2.0.0:ruby 2.0.0p451 (2014-02-24) [i386-mingw32]
这是我的厨师食谱:
cookbook_file "#{Chef::Config[:file_cache_path]}/zabbixapi-2.2.2.gem" do
source 'zabbixapi-2.2.2.gem'
end
chef_gem "zabbixapi" do
source "#{Chef::Config[:file_cache_path]}/zabbixapi-2.2.2.gem"
end