rake assets:precompile编译所有内容两次

时间:2013-05-10 19:52:11

标签: ruby-on-rails asset-pipeline

我在使用之前从未遇到的Rails资源预编译方面遇到了一些麻烦。在这个应用程序中运行rake assets:precomile时,我看到每个资产都被编译两次。如果我拖尾production.log我可以看到它基本上似乎连续两次运行整个命令。这是来自日志的修改样本......

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 ...

检查已编译的文件确认它已经编译了两次所有CSS& JS是重复的。

我正在使用Rails 3.2.13和Ruby 2.0.0-p0(也尝试使用1.9.3-p392)。

我之前从未遇到任何有关资产预编译的问题,所以如果有人对于为什么它表现出这种不寻常的行为有任何想法,这次我会喜欢听到它。

干杯!

1 个答案:

答案 0 :(得分:2)

更多地解释一下alistairholt的“陷阱”:当运行rake assets:precompile时,资产会被预编译并放置在public/assets中。事实证明,在开发环境中加载Web应用程序时会出现冲突,因为它同时提供public/assets中的文件和app/assets文件夹中的资源。