我遇到以下错误
Recipe: 7zip::default[0m
amazon-ebs: * windows_zipfile[c:/dirname/] action unzip
amazon-ebs: [0m
amazon-ebs: ================================================================================[0m
amazon-ebs: [31mError executing action `unzip` on resource 'windows_zipfile[c:/dirname/]'[0m
amazon-ebs: ================================================================================[0m
amazon-ebs:
amazon-ebs: [0m NameError[0m
amazon-ebs: ---------[0m
amazon-ebs: undefined local variable or method `source' for #<#<Class:0x0000000003f01f60>:0x0000000006da13c0>[0m
下面是我的代码相关的 7zip 食谱。
windows_zipfile 'c:/dirname/' do
source "#{node[:packages][:ziputil]}"
action :unzip
not_if {::File.exists?('c:/dirname/7za.exe')}
end
源 URI 为:
http://downloads.sourceforge.net/sevenzip/7za920.zip
我尝试将厨师客户端版本更新到 14.2.0 和 15.1.36 等版本,但这没有帮助?
有人可以建议吗?我们还需要更新其他内容吗?
windows_zipfile
资源似乎来自超市的windows食谱。这似乎已被弃用。由于您现在的 Chef-client > 15,您可以使用 archive_file 资源。像下面这样的东西应该有效:
remote_file 'C:/Users/Public/7za920.zip' do
source 'http://downloads.sourceforge.net/sevenzip/7za920.zip'
action :create
end
archive_file 'C:/Users/Public/7za920.zip' do
destination 'C:/Users/Public/7zip'
action :extract
end
您可以根据需要替换路径和属性。
还有一个windows_package资源可以直接安装MSI,可以从https://www.7-zip.org/download.html下载。