我正試圖在運行Windows的計算機上運行Rake任務,但我在檔案路徑方面遇到了問題。rakefile最初是由一個運行Mac和OSX的用戶撰寫的。
def compile
`cp -r app/assets/images dist/`
...
end
運行上述任務時,我得到了一個錯誤。 Errno::ENOENT。沒有這樣的檔案或目錄 - cp -r app/assets/images dist/
檔案夾在那里,下面的命令在終端中起作用:
cp -r .
然而,將rake檔案中的命令改為以下內容并不奏效:
`cp -r .app/assetsimages dist`
是否有辦法在我的Windows機器上運行原始Rackefile?這將是最好的。如果這不可能,我怎樣才能更新 rakefile 以使其作業呢?
uj5u.com熱心網友回復:
你必須要修改Rakefile。主要問題是,cp是UNIX的命令,而Windows使用copy / xcopy。我不是一個Windows專家,但我相信xcopy /E是用于遞回復制的。
我相信你可以通過運行以下程式來驗證Ruby將驗證檔案的路徑:
RUBY_PLATFORM
# => "x64-mingw32" 我也在Windows上:()
檔案.存在嗎?File.join('app', 'views', 'submissions.erb')
# => true
檔案.存在嗎?'app/views/submissions.erb'。
# => true
檔案.存在嗎?'appviewssubmissions.erb'
# => true
檔案.存在嗎?'appviewssubmissions.erb'
# => true
最好的解決方案IMO是使用FileUtils:
require 'fileutils'/span>
FileUtils.cp_r('app/assets/images'/span>, 'dist/')
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307626.html
標籤:
