6

私はこれに2日以上頭を悩ませてきましたが、どこに問題があるのか​​ わからないようです。これは主に私のセットアップに関連する問題ですが、誰かがこの問題の解決策を見つけるのを手伝ってくれるなら、私は永遠に彼の奴隷になります..!

Snow leopard (ホスト) と Ubuntu Lucid サーバー (ゲスト OS) を実行する VMware フュージョンを実行しています。何度も頭をぶつけた後、どういうわけか、ワークスペースを Mac から Ubuntu に共有することができました。基本的に、開発環境を VM に分離することができました。これにより、ホスト OS や設定などに関係なく、開発チーム全体が同じ環境にいることが容易になりました。 、スプロケットが原因で発生する特定の問題に悩まされています(推測)。スタイルシートに変更を加えてリロードするたびに、次のエラーが発生します。

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'

ただし、ページを 2 回または 3 回リロードすると、css がコンパイルされ、すべてが正常に機能します。

CSS を変更するたびに、ページを 2 回または 3 回リロードするのは本当に残念です。私はメンバーシップと権限を少しいじりましたが、アマチュアだったので、十分に深く冒険していなかったと思います.

アイデアはありますか??

4

4 に答える 4

2

この回答には少し遅れていますが、アプリをデプロイするたびにchmodを使用するのは良い解決策ではないようです。問題は、apacheインスタンスとpassengerインスタンスが異なるユーザーとして実行されていることだと思います。したがって、解決策は、Apacheサーバーが実行されているユーザーを確認し、PassengerDefaultUserを設定することです。

例えば:

PassengerDefaultUser www-data

これは私のために働いた。Passengerはファイルを誰も読めないようにしていたので、奇妙なことに、数回更新するだけでうまくいくのですが、同じユーザーであることを確認すると、このエラーが停止します。

于 2012-10-18T08:09:43.387 に答える
2

私も同じ問題を抱えてる。私の解決策は、アセットをプリコンパイルした後にファイルのアクセス許可を変更することです。

#chown apache.root yourapp -R
#chmod 755 yourapp -R
于 2011-10-17T12:52:04.903 に答える
1

同じエラーが発生しましたが、開発中です! アセットをクリーンアップして再コンパイルした後に解決:

 rake assets:clean && rake assets:precompile
于 2013-06-27T16:34:40.687 に答える