空でないフォルダを削除しようとしています:
directory "C:\tempdirectory" do
action :delete
end
...シェフが受け取る:
Errno::ENOTEMPTY
Directory not empty
ディレクトリ内のすべてのファイルを削除する簡単な方法はありますか?
または、空でないディレクトリを削除できるようにするための引数またはフラグ?
正しく思い出せば、recursive true
属性は、空でないディレクトリを強制的に削除します。
directory
LWRPのドキュメント この動作は説明されていませんが、この使用例は提供されています。
directory "/tmp/something" do
recursive true
action :delete
end
その後、ドキュメントは修正されて、秘密裏に次のように述べられています。
recursive
Rubyタイプ:TrueClass、FalseClass親ディレクトリを再帰的に作成または削除します。所有者、グループ、およびモードのプロパティの場合、この属性の値はリーフディレクトリにのみ適用されます。
デフォルト値:false
。
彼らはまだ「recursive true
は、空でないディレクトリを削除するために必要です。この設定がないと、空ではないディレクトリを削除しようとすると、次のメッセージで失敗します:Errno::ENOTEMPTY Directory not empty
"。
recursive true
オプションを追加する必要があります。このオプションは、すべてのディレクトリを削除します。