由于我使用Rails 3.1和资产管道,因此在生产模式下我遇到了一个大问题。
当我执行捆绑exec rake资产:预编译时,我遇到了错误,如
'myjsfile.js'具有无效的UTF-8字节序列
特别是tiny_mce插件js文件。
所以我放弃了,因为我的mac上的developpment中的一切正常,我在production.rb文件中写了这一行:config.assets.compile = true
因此生成的JS文件没有错误。
另一方面,长文件存在很大问题,例如jquery.js
通常,Rails只生成jQuery文件的一半,我发现暂时解决问题的唯一方法是继续使用js文件的URL(http://myapp.com/assets/jquery.js
)并多次刷新页面,并在而jquery文件又是完整的。
然后几天后问题又回来了,我必须再做一次。
实际上,好像在编译大文件时,进程在中间停止,服务器将文件发送到一半。
你们有些人有这个问题吗?有什么想法可以来吗?
我在Ubuntu服务器上使用nginx和passenger进行制作。我在Mac上从未遇到过这个问题。
事先,谢谢你的帮助!
答案 0 :(得分:0)
如果服务器上的内存不足,预编译过程将失败。尝试在Mac上执行rake assets:precompile
并提交生成的资源,以便在服务器上获取它们。
从长远来看,对于每次成功构建,都要在中间CI服务器上运行预编译。