1

これまで遭遇したことのない Rails アセットのプリコンパイルで問題が発生しています。このアプリを実行rake assets:precomileすると、すべてのアセットが 2 回コンパイルされます。production.log を追跡すると、基本的にコマンド全体を 2 回続けて実行しているように見えることがわかります。これは、ログから変更されたサンプルです...

Connecting to database specified by database.yml
Compiled jquery.js  (97ms)  (pid 56296)
Compiled jquery.cycle.all.js  (2ms)  (pid 56296)
Compiled jquery.numeric.js  (0ms)  (pid 56296)
Compiled matchMedia.js  (0ms)  (pid 56296)
Compiled fastclick.js  (1ms)  (pid 56296)
... etc ...
Connecting to database specified by database.yml
Compiled jquery.js  (97ms)  (pid 56296)
Compiled jquery.cycle.all.js  (2ms)  (pid 56296)
Compiled jquery.numeric.js  (0ms)  (pid 56296)
Compiled matchMedia.js  (0ms)  (pid 56296)
Compiled fastclick.js  (1ms)  (pid 56296)
... etc ...

コンパイルされたファイルを確認すると、すべてが 2 回コンパイルされていることが確認されるため、CSS と JS がすべて複製されます。

Rails 3.2.13 と Ruby 2.0.0-p0 を使用しています (1.9.3-p392 でも試しました)。

これまでアセットのプリコンパイルで問題が発生したことは一度もありません。今回、この異常な動作を示している理由について何か考えがある場合は、ぜひ聞いてください。

乾杯!

4

1 に答える 1

2

alistairholt の「落とし穴」についてもう少し説明すると、実行時rake assets:precompileにアセットがプリコンパイルされて に配置されpublic/assetsます。public/assetsフォルダーからのファイルとアセットの両方を提供するため、開発環境で Web アプリをロードするときに競合が発生することが判明しましたapp/assets

于 2013-05-10T21:38:44.493 に答える