2012-12-20 27 views
1

當我與Capistrano的運行deploy最近,我得到這個錯誤的程序:爲什麼Capistrano在雙擊頁面的路徑上執行`find`?

* executing "find /var/www/<myapp>/releases/20121220195214/public/images\\ /var/www/<myapp>/releases/20121220195214/public/stylesheets\\ /var/www/<myapp>/releases/20121220195214/public/javascripts -exec touch -t -- 201212201952.40 {} ';'; true" 
    servers: ["50.56.126.187"] 
    [50.56.126.187] executing command 
*** [err :: 50.56.126.187] find: 
*** [err :: 50.56.126.187] `/var/www/<myapp>/releases/20121220195214/public/images /var/www/<myapp>/releases/20121220195214/public/stylesheets /var/www/<myapp>/releases/20121220195214/public/javascripts' 
*** [err :: 50.56.126.187] : No such file or directory 
*** [err :: 50.56.126.187] 
    command finished in 452ms 

爲什麼試圖發現,在雙反斜線結束的路徑?

回答

0

它看起來像試圖傳遞多個路徑作爲單個參數來查找。分隔路徑列表的空格用反斜槓轉義並作爲一個參數傳遞給find。我懷疑每一條路徑都應該作爲一個單獨的參數傳遞來尋找。我對Capistrano並不熟悉,所以我無法確切指出是什麼驅動這個過程,以及爲什麼它試圖將三條路徑作爲單個參數而不是三個單獨的參數發送。

您看到的雙反斜槓是Ruby的String#檢查方法的工作原理,如此forum post中所述。

+0

嗯......任何想法如何讓腳本識別目錄實際上是否存在? – JellicleCat

+0

目錄如何傳遞給腳本?它是可配置的還是腳本會自動確定它們是什麼? (我真的不知道Capistrano!) –

+0

看起來我必須閱讀代碼。 – JellicleCat

相關問題