Heroku 上的“application.css 未预编译”错误,CDN 上有远程资产

Posted

技术标签:

【中文标题】Heroku 上的“application.css 未预编译”错误,CDN 上有远程资产【英文标题】:"application.css isn't precompiled" error on Heroku with remote assets on CDN 【发布时间】:2012-04-26 13:01:27 【问题描述】:

我在 Heroku 上遇到了典型错误,似乎解决方案是在本地预编译,然后提交到 git。

ActionView::Template::Error (application.css isn't precompiled)

但是,我使用asset_sync 在 Rackspace CloudFiles CDN 上拥有我的资产,并且它们编译得很好,所以我真的不想也必须将编译后的资产提交到 git。

有什么办法吗?

【问题讨论】:

【参考方案1】:

在将应用推送到 heroku 之前,请运行以下命令。

bundle exec rake assets:precompile

这将预编译所有必要的 javascript 和 css。

如果您在预编译后在计算机上运行应用程序,则在运行之前您不会看到任何 css 和 js 更改。

bundle exec rake assets:clean

这将删除所有预编译文件,您需要在每次推送应用时进行预编译。

【讨论】:

你的意思是我必须预编译并提交到 git 吗?否则它们无论如何都不会出现在 heroku 上……但我不应该在那里需要它们,因为它们在 CDN 上。

以上是关于Heroku 上的“application.css 未预编译”错误,CDN 上有远程资产的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Sprockets::DoubleLinkError application.css

Rails:application.css 不在资产管道中

强制Heroku重新编译所有资产

部署到Heroku:NoMethodError:nil:NilClass的未定义方法'+'

使用 Sinatra 提供静态文件

heroku 上的应用程序错误无法更新 heroku 配置