2015-07-12 90 views
2

我想從「windows」食譜中使用windows_zipfile資源,但我需要解壓的文件位於我正在運行的食譜中的文件/默認值。廚師使用「cookbook_file」作爲「windows_zipfile」資源的來源

通常我會使用「cookbook_file」資源訪問此文件,如何使用windows_zipfile資源訪問該文件?

我已經試過:

windows_zipfile 'c:\test_app' do 
    source 'files/default/test_app.zip' 
    action :unzip 
end 

,並得到了 「檔案文件\ DEFAULT \ test_zpp.zip找不到」

回答

2

您需要在本地創建的文件,然後運行windows_zipfile資源。您正試圖在您的回購站內解壓縮文件,而不是在您的節點上。 source這裏是本地文件系統上的文件。

cookbook_file 'c:/testapp.zip' do 
    source 'files/default/test_app.zip' 
end 

windows_zipfile 'c:/test_app' do 
    source 'c:/testapp.zip' 
    action :unzip 
    not_if {::File.exists?('c:/test_app')} 
end 

^此外,請確保您包括not_if警衛保護冪等(讓每個廚師運行不會嘗試解壓縮)。

這是在Windows Cookbook中提到的。

+0

給了我:NoMethodError廚師::資源::文件 – Osher

+0

未定義的方法'源',這需要'cookbook_file'而不是'file',因爲它的源代碼在食譜中。 –