在 rails 3 环境中是用 生产环境 nginx + passenger 出现 css 文件无法编译的错误
2013-04-29 01:33
579 查看
在 通过capistrano 进行发布程序到 nginx+passenger 生产环境后。
如果访问网站,出现错误。查询 production.log文件会发现 ActionView::Template::Error (congest_index/congest_index_of_net_for_date.css isn't precompiled):
说明 css 等文件没有预编译。
这是由于 在生产环境,出于效率的考虑把预先编译给关闭了
要解决这个问题。有2种方法
打开预编译开关(由于效率原因不推荐)
在config/environments/production.rb 文件里面 加入
并且把原来的 config.assets.compile = false 给屏蔽。
然后发布到svn 上,再通过capistranto 进行部署。
发布的时候进行编译。
如果在production上用pre compile的话,不是所有的css和js都会被预编译,拿css来说,他是根据application.css中的引用来判断,如果你的css没有被包含在application.css或者其中引用的css中,那么这个资源就会不被预编译,production上就会出错。
你需要在production.rb中指定需要预编译的资源,如下:
然后 commit 到 svn 上,再通过capistranto 进行部署。
如果访问网站,出现错误。查询 production.log文件会发现 ActionView::Template::Error (congest_index/congest_index_of_net_for_date.css isn't precompiled):
说明 css 等文件没有预编译。
这是由于 在生产环境,出于效率的考虑把预先编译给关闭了
要解决这个问题。有2种方法
打开预编译开关(由于效率原因不推荐)
在config/environments/production.rb 文件里面 加入
config.assets.compile = true
并且把原来的 config.assets.compile = false 给屏蔽。
然后发布到svn 上,再通过capistranto 进行部署。
发布的时候进行编译。
如果在production上用pre compile的话,不是所有的css和js都会被预编译,拿css来说,他是根据application.css中的引用来判断,如果你的css没有被包含在application.css或者其中引用的css中,那么这个资源就会不被预编译,production上就会出错。
你需要在production.rb中指定需要预编译的资源,如下:
config.assets.precompile += %w( login.css controllers/*.js controllers/*.css lib/*.js lib/*.css common/*.js )
然后 commit 到 svn 上,再通过capistranto 进行部署。
相关文章推荐
- rails 生产环境 编译CSS文件
- ubuntu 客户机安装VMware tools时出现编译错误,无法与主机共享文件
- nginx无法解析php文件,出现502错误
- VS2010编译出现错误,提示无法启动程序“F:\Debug\ALL-BUILD”,系统找不到指定的文件。
- 项目文件.NET下编译C++代码时出现fatal error C1083: 无法打开包括文件:“xuhk_JNIHelloWorld.h”: No such file or directory错误的解决方法。
- 建立工程后刚开始编译出现了“error PRJ0003 : 生成 cmd.exe 时出错”这样的错误,虽然在debug中生成了.exe文件,但是无法执行,提示找不到mfc90ud.dll。
- VS编译出现将元数据写入文件“x:/x/obj/Debug/xx.exe”时发生错误 --“存储空间不足,无法完成此操作。 ”
- 交叉编译环境遇到了parse error 出现了头文件编译错误
- Rails : css或js文件无法成功预编译或调用jquery类插件时预编译问题
- .NET下编译C++代码时出现fatal error C1083: 无法打开包括文件:“xuhk_JNIHelloWorld.h”: No such file or directory错误的解决方法。
- 使用passenger nginx 配置 rails 3.1 生产环境
- rails 生产环境部署练习(nginx + passenger + capistrano)
- VS2005中编译dll文件, 出现"共享段无法找到"的错误及解决办法
- 引用原因.NET下编译C++代码时出现fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory错误的解决方法.
- (电工基地笔记)Vivado出现编译错误,无法生成bit文件
- ubuntu 客户机安装VMware tools时出现编译错误,无法与主机共享文件
- .NET下编译C++代码时出现fatal error C1083: 无法打开包含文件:“iostream.h”: No such file or directory错误的解决方法.
- javac编译成功,用java运行class文件出现“找不到或无法加载主类”
- andrioid编译运行UnsatisfiedLinkError错误,无法找到.so文件!
- Window Word2003 打开文件时出现 “对话框打开时命令无法执行”的错误解决办法