通过twitter-bootstrap-rails gem升级到bootstrap 2.0.1后,Heroku部署失败

时间:2012-02-23 23:23:26

标签: ruby-on-rails heroku asset-pipeline twitter-bootstrap

更新:

git push heroku master期间显示此错误:

-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       rake aborted!
       couldn't find file 'twitter/bootstrap'
       (in /tmp/build_2pmsvze33th3e/app/assets/javascripts/application.js:9)

       Tasks: TOP => assets:precompile:primary
       (See full trace by running task with --trace)
       Precompiling assets failed, enabling runtime asset compilation
       Injecting rails31_enable_runtime_asset_compilation
       Please see this article for troubleshooting help:
       http://devcenter.heroku.com/articles/rails31_heroku_cedar#troubleshooting

我按照guide将Bootstrap 2布局升级到2.0.1。之后我将这个错误发送到了Heroku:

2012-02-23T23:12:09+00:00 app[web.1]: ActionView::Template::Error ('twitter/bootstrap.less' wasn't found.
2012-02-23T23:12:09+00:00 app[web.1]: 
2012-02-23T23:12:09+00:00 app[web.1]:   (in /app/app/assets/stylesheets/bootstrap.css.less)):
2012-02-23T23:12:09+00:00 app[web.1]:     7:     /%title gitwatcher.com
2012-02-23T23:12:09+00:00 app[web.1]:     8:     = csrf_meta_tags
2012-02-23T23:12:09+00:00 app[web.1]:     9:     = stylesheet_link_tag "vendor",       :media => "screen"
2012-02-23T23:12:09+00:00 app[web.1]:     10:     = stylesheet_link_tag "application",  :rel => "stylesheet"
2012-02-23T23:12:09+00:00 app[web.1]:     11:     = stylesheet_link_tag "http://jqueryui.com/repository/tags/latest/themes/base/jquery.ui.all.css", :media => "screen, projection"
2012-02-23T23:12:09+00:00 app[web.1]:     12:     / 
2012-02-23T23:12:09+00:00 app[web.1]:     13:     :css
2012-02-23T23:12:09+00:00 app[web.1]:   app/views/layouts/application.html.haml:10:in `_app_views_layouts_application_html_haml___2608554683581233975_52490540'
2012-02-23T23:12:09+00:00 app[web.1]: 
2012-02-23T23:12:09+00:00 app[web.1]: 
2012-02-23T23:12:09+00:00 app[web.1]: cache: [GET /] miss
2012-02-23T23:12:09+00:00 app[web.1]:   Processing by HomeController#index as HTML
2012-02-23T23:12:09+00:00 app[web.1]: Rendered shared/_watch-list-tab.html.haml (4.5ms)
2012-02-23T23:12:09+00:00 app[web.1]: Rendered shared/_watch-list-table.html.haml (30.2ms)
2012-02-23T23:12:09+00:00 app[web.1]: Rendered home/index.html.haml within layouts/application (101.7ms)
2012-02-23T23:12:09+00:00 app[web.1]: Compiled vendor.css  (3ms)  (pid 1)
2012-02-23T23:12:09+00:00 app[web.1]: Compiled css3-github-buttons/gh-buttons.css  (0ms)  (pid 1)
2012-02-23T23:12:09+00:00 app[web.1]: Compiled jquery_carousel/carousel.css  (0ms)  (pid 1)
2012-02-23T23:12:09+00:00 app[web.1]: Compiled application.css  (2ms)  (pid 1)
2012-02-23T23:12:09+00:00 app[web.1]: Completed 500 Internal Server Error in 858ms

以前我有一个已经在Heroku Cedar上使用Bootstrap 2布局的现有Rails 3.1.3应用程序。

有什么想法吗?

6 个答案:

答案 0 :(得分:3)

删除以下文件app / assets / stylesheets / bootstrap.css.less并享受。 Soruce https://github.com/seyhunak/twitter-bootstrap-rails/issues/123

答案 1 :(得分:2)

我还在资产组之外移动了gem“twitter-bootstrap-rails”,这有效!

答案 2 :(得分:1)

我能够通过简单地将gem“twitter-bootstrap-rails”移出:assets块并将其放在我的gemfile顶部来解决这个问题。

答案 3 :(得分:0)

解决。

只需在Gemfile中注释掉以下行:

#gem 'twitter-bootstrap-rails', :git => 'http://github.com/seyhunak/twitter-bootstrap-rails.git'

并使用gem "twitter-bootstrap-rails", "~> 2.0.1.0"然后运行bundle update

要完成,我之前失败的分支是:

-  revision: a5d67d23afeaa76eb52c6f87d55ff407f9c753f2
-    twitter-bootstrap-rails (2.0.1)

答案 4 :(得分:0)

对我来说,解决方案是在application.css中删除这一行

*= require twitter/bootstrap

Se https://github.com/seyhunak/twitter-bootstrap-rails/issues/123

答案 5 :(得分:0)

运行时资产编译期间出现错误的另一种解决方法是使用asset_sync gem。