Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 在气隙服务器上安装Chef客户端跳过包_Ruby_Rubygems_Chef Infra_Chef Client - Fatal编程技术网

Ruby 在气隙服务器上安装Chef客户端跳过包

Ruby 在气隙服务器上安装Chef客户端跳过包,ruby,rubygems,chef-infra,chef-client,Ruby,Rubygems,Chef Infra,Chef Client,我正在尝试在气隙服务器上安装厨师食谱 我捆绑了所有配方中列出的宝石,并准备了供应商/缓存存档。将其复制到服务器并运行/opt/chef/embedded/bin/bunlde install--local成功安装233个gems,但当我运行chef client-j boot.json时,它会找到所有gems,不会下载,但仍会运行bundle安装步骤,并尝试访问rubygems.org,但失败 在调试模式下运行chef客户端不会显示任何gem名称,它正在尝试下载,所以我不知道缺少了什么。 我是否

我正在尝试在气隙服务器上安装厨师食谱 我捆绑了所有配方中列出的宝石,并准备了供应商/缓存存档。将其复制到服务器并运行
/opt/chef/embedded/bin/bunlde install--local
成功安装233个gems,但当我运行
chef client-j boot.json
时,它会找到所有gems,不会下载,但仍会运行bundle安装步骤,并尝试访问rubygems.org,但失败

在调试模式下运行chef客户端不会显示任何gem名称,它正在尝试下载,所以我不知道缺少了什么。
我是否可以跳过这一步,或者知道缺少了哪一个gem?

加载烹饪书后的部分操作是在cookbook metadata.rb中安装所需的gem

客户端准备一个GEM文件并启动一个
捆绑安装
,以检查是否安装了必要的GEM并且是最新的,这就是bundler的行为以及它尝试连接到rubygems.org的原因

正如评论中所说,在每台服务器上出售所有的gem远远不够高效,你最好有一个内部的gem存储库,并让你的cient找到它

这几乎就是您所做的,从您的食谱中获取所有gem,将它们安装到内部机器上,然后运行
gem服务器


这可能会很乏味,而且还有其他方法可以更容易地在内部镜像rubygem

您能用相关代码(来自配方)更新问题吗当您运行
chef client
?@seshadri_cits时执行的代码不是chef内置的代码,一旦获取了与角色相关的烹饪书,客户端将启动烹饪书gems的捆绑安装;虽然我已经通过本地bundle安装安装了gems,但它并没有记录任何缺少的gems,也没有记录一些关于在空气间隙环境中将
rubygems\u url
设置为本地rubygems镜像的文档。这可能是你需要的。