rails precompiling failed asset ruby-on-rails heroku

ruby-on-rails - precompiling - rails assets precompile



la implementación de rails 3.1 en heroku.css no es un error precompilado (2)

En realidad, debe ejecutar la precompilación para su entorno de producción :

  • Ejecutar RAILS_ENV=production bundle exec rake assets:precompile en local
  • Comprometerse y desplegar a Heroku

En términos más generales, los documentos de Heroku describen tres opciones para la compilación de activos para Rails 3.1+ en Cedar:

  1. Compilar localmente (cubierto en esta respuesta)
  2. Compilar durante la compilación de babosas
  3. Compilar durante el tiempo de ejecución

Actualizar

Obtuve este error porque tenía un archivo public.css y public.js que no se compiló con el resto de los archivos .css y .js. La solución fue agregar esta línea al archivo production.rb

# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) config.assets.precompile += %w( public.js public.css )

Como puede ver en el comentario, ya se han agregado todas las aplicaciones de nombres de archivos. Entonces, solo tuve que agregar los que no se llamaban aplicación.

Espero que ayude a alguien!

Pregunta original

Tengo este archivo gema

gem ''rails'', ''3.1.0'' group :production do gem ''pg'' end group :development, :test do gem ''sqlite3'' end gem "heroku" gem ''thin'' gem ''sass-rails'', " ~> 3.1.0" gem ''coffee-rails'', "~> 3.1.0" gem ''tabulous'' gem ''json'' gem "paperclip", "~> 2.4" gem "devise" gem "redcarpet" group :assets do gem ''uglifier'' end gem ''jquery-rails'' gem "rspec-rails", :group => [:test, :development] group :test do end

cuando despliegue con "git push heroku master" veo esto

Preparing app for Rails asset pipeline Running: rake assets:precompile mkdir -p /tmp/build_2m34y4hj01m4o/public/assets mkdir -p /tmp/build_2m34y4hj01m4o/public/assets mkdir -p /tmp/build_2m34y4hj01m4o/public/assets mkdir -p /tmp/build_2m34y4hj01m4o/public/assets/admin mkdir -p /tmp/build_2m34y4hj01m4o/public/assets/admin -----> Rails plugin injection Injecting rails_log_stdout Injecting rails3_serve_static_assets -----> Discovering process types Procfile declares types -> (none) Default types for Ruby/Rails -> console, rake, web, worker -----> Compiled slug size is 31.2MB -----> Launching... done, v5 http://maktaba.herokuapp.com deployed to Heroku

pero en los registros heroku obtengo este ActionView :: Template :: Error. CSS no está precompilado Extraño ... Creo que estaba viendo los comentarios sobre la implementación

2011-11-23T22:59:48+00:00 app[web.1]: Rendered public/index.html.erb within layouts/first (0.7ms) 2011-11-23T22:59:48+00:00 app[web.1]: Completed 500 Internal Server Error in 30ms 2011-11-23T22:59:48+00:00 app[web.1]: 2011-11-23T22:59:48+00:00 app[web.1]: ActionView::Template::Error (public/public.css isn''t precompiled): 2011-11-23T22:59:48+00:00 app[web.1]: 2: <html> 2011-11-23T22:59:48+00:00 app[web.1]: 3: <head> 2011-11-23T22:59:48+00:00 app[web.1]: 4: <title>Maktaba</title> 2011-11-23T22:59:48+00:00 app[web.1]: 5: <%= stylesheet_link_tag "public/public" %> 2011-11-23T22:59:48+00:00 app[web.1]: 6: <%= javascript_include_tag "public/public" %> 2011-11-23T22:59:48+00:00 app[web.1]: 7: <%= csrf_meta_tags %> 2011-11-23T22:59:48+00:00 app[web.1]: 8: <%= csrf_meta_tags %> 2011-11-23T22:59:48+00:00 app[web.1]: app/views/public/index.html.erb:5:in `_app_views_public_index_html_erb___1726244208117637261_45234420'' 2011-11-23T22:59:48+00:00 app[web.1]: app/controllers/public_controller.rb:13:in `block (2 levels) in index'' 2011-11-23T22:59:48+00:00 app[web.1]: 2011-11-23T22:59:48+00:00 app[web.1]: app/controllers/public_controller.rb:12:in `index''

¿Puede alguno de ustedes ver lo que estoy haciendo mal?


  • Ejecute los bundle exec rake assets:precompile en su código local
  • Confirma los cambios y despliega en heroku

Si esta es la primera vez que implementa su aplicación en heroku, puede experimentar más errores una vez que se resuelva. Déjame saber lo que pasa.