Подтвердить что ты не робот

"bundler: команда не найдена: тонкие" направляющие развертывания heroku

Итак, мое приложение отлично работает на моей локальной машине, и я успешно нажал его на github и heroku, но когда я попытаюсь открыть приложение в своем браузере, я получаю следующую ошибку:

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.

Затем я запускаю

$ heroku logs

И я получаю следующий вывод в консоли:

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=

Я не могу понять, что с этим делать, так как это мой первый раз развертывание в геройку, и я ничего не знаю о веб-развертывании. Любая помощь будет принята с благодарностью!

4b9b3361

Ответ 1

Для меня проблема заключалась в том, что я добавил тонкий в свой Gemfile в разделе разработки, но как только я сделал это, героику захотелось использовать его для производства, но не устанавливает драгоценные камни в разделе разработки. Путем перемещения тонкой жемчужины из секции разработки для использования всеми средами, я смог преодолеть эту ошибку.

Ваш Gemfile, вероятно, будет выглядеть примерно так для приложения 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 в любом случае рекомендует тонкие для веб-сервера производства.

Обновление (2012-05-16): В этом Rails 3 веб-сервере ссылка выше Heroku теперь рекомендует единорог. тонкий будет по-прежнему работать, но вы можете рассмотреть переход к единорогу.

Ответ 2

Вероятно, вам не хватает драгоценного камня в вашем Gemfile. Убедитесь, что все необходимое для вашего приложения указано в Gemfile, в отличие от локального выполнения установки gem. Чтобы проверить, вы можете установить RVM, создать gemset специально для своего приложения, запустить "установить пакет" в вашем каталоге приложений, а затем посмотреть если ваше приложение работает локально. Если он не запускается, драгоценный камень определенно отсутствует.

Ответ 3

Похоже, герой пытается запустить Thin в отсутствие Procfile, чтобы сказать об этом иначе. Как отмечено выше, Thin не установлен в Gemfile, следовательно, ошибка. Выделение Thin из группы разработки будет работать, как указано выше.

Если вы хотите, чтобы герой начал запускать Unicorn вместо Thin, настройте свой config/unicorn.rb и ваш файл Procfile, как указано здесь: https://devcenter.heroku.com/articles/rails-unicorn

Содержимое Procfile для Unicorn указано в ссылке выше и больше информации о Procfile (просто файл под названием "Procfile" в корне вашего приложения) здесь: https://devcenter.heroku.com/articles/procfile