2012-07-05 16 views
12

Así que mi aplicación se ejecuta perfectamente en mi máquina local y la apreté a github y heroku con éxito pero cuando intento abrir la aplicación en mi navegador, aparece el siguiente error:"bundler: comando no encontrado: thin" heroku deployment rails

Application Error 
An error occurred in the application and your page could not be served. Please try again in a few moments. 

If you are the application owner, check your logs for details. 

Entonces trato de ejecutar

$ heroku logs 

Y me da el siguiente resultado en mi consola:

2012-07-05T21:52:11+00:00 heroku[slugc]: Slug compilation started 
2012-07-05T21:52:33+00:00 heroku[slugc]: Slug compilation failed: failed to compile Ruby/rails app 
2012-07-05T21:53:33+00:00 heroku[slugc]: Slug compilation started 
2012-07-05T21:53:55+00:00 heroku[slugc]: Slug compilation failed: failed to compile Ruby/rails app 
2012-07-05T21:58:45+00:00 heroku[slugc]: Slug compilation started 
2012-07-05T21:59:04+00:00 heroku[slugc]: Slug compilation failed: failed to compile Ruby/rails app 
2012-07-05T22:00:34+00:00 heroku[slugc]: Slug compilation started 
2012-07-05T22:01:21+00:00 heroku[api]: Add shared-database:5mb add-on by [email protected] 
2012-07-05T22:01:21+00:00 heroku[api]: Release v2 created by [email protected] 
2012-07-05T22:01:21+00:00 heroku[api]: Add RAILS_ENV, LANG, PATH, RACK_ENV, GEM_PATH config by [email protected] 
2012-07-05T22:01:21+00:00 heroku[api]: Release v3 created by [email protected] 
2012-07-05T22:01:23+00:00 heroku[api]: Release v4 created by [email protected] 
2012-07-05T22:01:23+00:00 heroku[api]: Deploy 23effb5 by [email protected] 
2012-07-05T22:01:24+00:00 heroku[slugc]: Slug compilation finished 
2012-07-05T22:01:27+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -R config.ru -e production -p 4606` 
2012-07-05T22:01:30+00:00 app[web.1]: bundler: command not found: thin 
2012-07-05T22:01:30+00:00 app[web.1]: Install missing gem executables with `bundle install` 
2012-07-05T22:01:31+00:00 heroku[web.1]: Process exited with status 127 
2012-07-05T22:01:31+00:00 heroku[web.1]: State changed from starting to crashed 
2012-07-05T22:01:31+00:00 heroku[web.1]: State changed from crashed to starting 
2012-07-05T22:01:34+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -R config.ru -e production -p 16779` 
2012-07-05T22:01:35+00:00 app[web.1]: bundler: command not found: thin 
2012-07-05T22:01:35+00:00 app[web.1]: Install missing gem executables with `bundle install` 
2012-07-05T22:01:36+00:00 heroku[web.1]: Process exited with status 127 
2012-07-05T22:01:36+00:00 heroku[web.1]: State changed from starting to crashed 
2012-07-05T22:01:37+00:00 heroku[router]: Error H10 (App crashed) -> GET glowing-robot-9319.herokuapp.com/ dyno= queue= wait= service= status=503 bytes= 
2012-07-05T22:01:38+00:00 heroku[router]: Error H10 (App crashed) -> GET glowing-robot-9319.herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes= 
2012-07-05T22:01:49+00:00 heroku[router]: Error H10 (App crashed) -> GET glowing-robot-9319.herokuapp.com/ dyno= queue= wait= service= status=503 bytes= 
2012-07-05T22:01:49+00:00 heroku[router]: Error H10 (App crashed) -> GET glowing-robot-9319.herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes= 
2012-07-05T22:01:50+00:00 heroku[router]: Error H10 (App crashed) -> GET glowing-robot-9319.herokuapp.com/ dyno= queue= wait= service= status=503 bytes= 
2012-07-05T22:01:51+00:00 heroku[router]: Error H10 (App crashed) -> GET glowing-robot-9319.herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes= 
2012-07-05T22:01:51+00:00 heroku[router]: Error H10 (App crashed) -> GET glowing-robot-9319.herokuapp.com/ dyno= queue= wait= service= status=503 bytes= 
2012-07-05T22:01:51+00:00 heroku[router]: Error H10 (App crashed) -> GET glowing-robot-9319.herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes= 

No sé qué hacer con esto, ya que esta es la primera vez que implemento en heroku y no sé nada sobre la implementación web. ¡Cualquier ayuda sería muy apreciada!

+0

Agregue 'gem 'pg' gem 'taps'' a ** Gemfile ** y paquete de instalación. Y se implementó el código para heroku y reiniciar el servidor. –

Respuesta

2

Probablemente te falte una gema en tu Gemfile. Asegúrate de que todo lo que necesita tu aplicación esté especificado en el Gemfile, en lugar de hacer una "instalación gema" localmente. Para verificar, puede instalar RVM, crear un gemset específicamente para su aplicación, ejecutar "paquete de instalación" en su directorio de aplicación, y luego ver si su aplicación se ejecuta localmente. Si no se ejecuta, definitivamente falta una gema.

21

Para mí, el problema era que añadí thin a mi Gemfile en la sección de desarrollo, pero una vez que hice eso, heroku quería usarlo para la producción, pero no instala las gemas en la sección de desarrollo. Al mover la gema delgada fuera de la sección de desarrollo para su uso en todos los entornos, pude superar este error.

Su Gemfile probablemente algo como esto para una aplicación Rails:

source 'https://rubygems.org' 

gem 'rails' 
gem 'heroku' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

gem 'pg' 
gem 'thin' 

# more gems 

Heroku recommends thin para un servidor Web de producción de todos modos.

Actualización (2012-05-16): En ese enlace del servidor web Rails 3 anterior Heroku ahora recommends unicorn. thin todavía funcionará, pero es posible que desee considerar switching over to unicorn.

+0

¡Gracias por el consejo! – wikichen

1

Parece que heroku está intentando iniciar Thin en ausencia de un archivo de proceso para decirlo de otra manera. Como se indicó anteriormente, Thin no está instalado en el Gemfile, de ahí el error. Tomar Delgado del grupo de desarrollo funcionará, como se señaló anteriormente.

Si desea obtener heroku para iniciar unicornio lugar de Delgado, configurar su config/unicorn.rb y su Procfile como se indica aquí: https://devcenter.heroku.com/articles/rails-unicorn

El contenido Procfile para Unicorn se enumeran en el enlace anterior, y más información sobre Procfile (solo un archivo llamado 'Procfile' en la raíz de su aplicación) aquí: https://devcenter.heroku.com/articles/procfile