Chef infra Windows中出现文件编辑错误

Chef infra Windows中出现文件编辑错误,chef-infra,Chef Infra,我正在尝试替换xml文件的字符串。试着按照食谱做。没用 ruby_block 'replace_file' do block do f= Chef::Util::File_Edit.new('C:\Chef_File_Edit\server.xml') f.search_file_replace(8081,8080) f.write_file end end 我的摩托车将用8080取代8081。上面的配方有什么问题?使用字符串而不是整数,f.search\u

我正在尝试替换xml文件的字符串。试着按照食谱做。没用

ruby_block 'replace_file' do
  block do
    f= Chef::Util::File_Edit.new('C:\Chef_File_Edit\server.xml')
    f.search_file_replace(8081,8080)
    f.write_file
   end
 end

我的摩托车将用8080取代8081。上面的配方有什么问题?

使用字符串而不是整数,
f.search\u file\u replace('8081','8080')
。还值得注意的是,FileEdit的使用是高度的,高度的不推荐使用。它会导致非常脆弱的系统。使用
模板
cookbook\u文件
资源来控制
服务器.xml
文件将是一个更好的解决方案。

是的,它奏效了。我犯了两个错误。这是正确的食谱

ruby_block 'replace_file' do
  block do
    f= Chef::Util::FileEdit.new('C:\Chef_File_Edit\server.xml')
    f.search_file_replace('8081','8080')
    f.write_file
  end
end

谢谢我还将尝试使用cookbook_文件资源来实现它。我犯了这个错误。。。致命:名称错误:ruby_块[replace_file](文件编辑::默认第10行)出现错误:名称错误r:未初始化常量Chef::Util::file_编辑错误:无法在10.106.69.76上执行命令返回代码1,因为它是
Chef::Util::FileEdit
。是。对的成功了,谢谢