ruby-on-rails - precompiling - rails 5 asset pipeline heroku
No se pudo encontrar el archivo ''twitter/bootstrap'' en Producción (6)
¿Estás usando una gema? Asegúrese de que su gema no sea parte del grupo de activos y esté accesible en producción.
De GemFile
# Gems used only for assets and not in production environments by default.
Así que solo mueve la gema fuera de cualquier grupo y deberías estar bien.
Estoy usando el Bootstrap de Twitter traducido a archivos SCSS. Funciona en el desarrollo local, pero cuando precompilo y pulso a Heroku (usando la pila de Cedar), obtengo esto
> Started GET "/" for 74.57.16.130 at 2012-01-28 17:16:36 +0000
> Processing by StaticPagesController#home as HTML Rendered
> static_pages/home.html.erb within layouts/application (0.7ms)
> Completed 500 Internal Server Error in 4ms
>
> ActionView::Template::Error (couldn''t find file ''twitter/bootstrap''
> (in /app/app/assets/stylesheets/application.scss.css:11)):
> 8: </head>
> 6: <%= javascript_include_tag "application" %>
> 4: <title><%= full_title(yield(:title)) %></title>
> 2: <html>
> 5: <%= stylesheet_link_tag "application", :media => "all" %>
app/views/layouts/application.html.erb:5:in
> `_app_views_layouts_application_html_erb___288948710373692320_32137840''
> 3: <head> cache: [GET /] miss
>
> 7: <%= csrf_meta_tags %> cache: [GET /favicon.ico] miss
Estoy usando Rails 3.2.0, la aplicación estaba funcionando en Heroku hasta que agregué los archivos SASS.
Asegúrese de que, en config / environment / production.rb, tenga ...
config.serve_static_assets = true
Cuando ve algo como esto cuando está desplegando la aplicación Rails en heroku.com
Precompiling assets failed, enabling runtime asset compilation
...
could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port xxxx?
Solo agrega esto a config / application.rb
config.assets.initialize_on_precompile = false
En config/environments/production.rb
agregue esta línea:
config.assets.precompile = [/^[-_a-zA-Z0-9]*/..*/]
Mi conjetura es que no está agregando todos sus activos.
Esto solucionó el problema en Heroku al menos
acaba de bajar a sass-rails 3.1.4
group :assets do
gem ''coffee-rails'', ''~> 3.1.1''
gem ''uglifier'', ''>= 1.0.3''
gem ''sass-rails'', ''3.1.4''
gem ''bootstrap-sass'', ''~> 2.0.2''
end
Solo pon esto en tu gemfile
gem "twitter-bootstrap-rails", "~> 2.0rc0"
Hay CSS inválido en BootStrap 2.0 que hace que la compilación SCSS falle
Puedes verificar esto mirando la salida de
git push heroku master
Deberías ver algún error como:
-----> Preparing app for Rails asset pipeline
Running: rake assets:precompile
rake aborted!
Invalid CSS after "...er-radius:0 /0/": expected expression (e.g. 1px, bold), was ";}"
(in /tmp/build_1k8ugei34dpcw/app/assets/stylesheets/application.css)
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