在chef客户端运行期间,它将ruby安装为版本2.4.0的预定义软件包
我需要先更新文件,然后再运行任何收据
我在下面添加了recepe,但是看起来它不起作用,有人可以帮忙吗?
ruby_block 'no_proxy_fix' do
block do
fe = Chef::Util::FileEdit.new('/opt/chef/embedded/lib/ruby/2.4.0/uri/generic.rb')
fe.search_file_replace("IPAddr.new(host)", "IPAddr.new(host).include?(self.host)")
fe.search_file_replace("end.include?(self.host)", "end")
fe.write_file
end
end
我需要替换以下值
IPAddr.new(主机)与 IPAddr.new(主机).include?(self.host)
end.include?(self.host)与 end
答案 0 :(得分:0)
FileEdit
是Chef的内部API,不允许您在配方代码中使用它(阅读:不支持)。为此,请使用line
或poise-file
食谱。