2012-11-18 119 views
2

我確定它不是權限問題,因爲它實際上可以創建一些目錄。FileUtils.mkdir無法創建目錄

例子:

FileUtils.mkdir "/tmp/foo" 

作品以及

FileUtils.mkdir "/tmp/bar/foo" 

失敗,錯誤

Errno::ENOENT: No such file or directory - /tmp/bar/foo 

這確實OT是有意義的我,因爲我知道這並不存在和那這就是爲什麼我想創造它。

回答

6

你需要FileUtils.mkdir_p "/tmp/bar/foo"

mkdir_p的行爲完全爲mkdir -p在UNIX系統 - 如果某些目錄不存在,它將被創建。

我敢打賭,沒有/tmp/bar目錄,Ruby無法創建一個目錄到一個不存在的文件夾。

+0

是的,就是這樣,'/ tmp/bar'不存在,我期待它是由'mkdir'自動創建的。謝謝你'mkdir_p'。 SO是有史以來最好的一本書:) –