6

我已經在這個問題上超過了2天,並且似乎無法找出問題出在哪裏。這主要是與我的設置有關的問題,但如果有人能幫我找到解決這個問題的辦法,那麼我將永遠是他的奴隸。Rails鏈輪錯誤編譯CSS公式 - CHOWN問題

我正在運行運行Ubuntu Lucid服務器(客戶操作系統)的Snow leopard(主機)和VMware Fusion。不知何故,在經歷了很多頭撞之後,我設法讓我的工作空間從Mac共享到Ubuntu。所以,基本上,我已經能夠將我的開發環境隔離在虛擬機上,這使得整個開發團隊可以輕鬆地在同一個環境中,而不考慮其主機操作系統/設置等。同時,它確實使一切變得簡單,我堅持由於鏈輪發生的特定問題(我猜)。每次我要我修改樣式表並重新加載,我得到這個錯誤:

Error compiling CSS asset 

Errno::EPERM: Operation not permitted - /mnt/hgfs/banjarey/tmp/cache/assets/DCF/780/sprockets%2F5f78b3457def1d02bd3fb75d4e0cfb63 

/home/coderboy/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.0/lib/active_support/core_ext/file/atomic.rb:38:in `chown' 

的strage事情雖然是,如果我重新加載頁面兩次或三次,CSS的編譯,一切工作正常的。

這是一個真正的恥辱,重新加載頁面兩次或三次爲每個單一的CSS變化我做。我已經玩過一些會員資格和權限,但是我是一個業餘愛好者,我沒有深入探討過。

任何想法的人?

+0

我敢肯定這是一個文件系統權限問題。 – thomasfedb

+0

@thomasfedb yup我很確定它是一樣的......雖然真的不明白爲什麼它每次發生兩次/三次,然後簡單地工作! – hashpipe

回答

2

我有同樣的問題。我的解決方案是預編譯的資產後,修改文件權限:

#chown apache.root yourapp -R 
#chmod 755 yourapp -R 
2

有點晚了這樣的回答,但每次CHMOD應用是部署似乎並沒有得到很好的解決。我認爲這個問題是你的apache實例,你的乘客實例是作爲不同的用戶運行的。所以,解決的辦法是檢查你的Apache服務器正在運行的用戶爲並設置PassengerDefaultUser,

例如:

PassengerDefaultUser www-data

這爲我工作。由於Passenger使得文件只能被任何人閱讀,奇怪的是,如果你只刷新幾次,那麼一些如何解決,但確保它們是相同的用戶停止這個錯誤。

+0

你是如何改變這種狀況的? – AustinT

1

我遇到了同樣的錯誤,但在開發中! 清潔和重新編譯的資產後解決:

rake assets:clean && rake assets:precompile 
0

確保底層的文件系統支持的請求的操作。 以下命令爲我解決了它。

mv public/assets /tmp 
ln -s /tmp/assets public/assets