heroku: bash: bundle: команда не найдена

Я портирую приложение Heroku из Aspen в Cedar stack в Heroku, следуя их инструкциям.

Я на последнем шаге развертывания. Я получаю эту ошибку:

    2012-10-22T11:23:53+00:00 heroku[web.1]: Starting process with command `bundle exec thin start -p 40310 -e production`
2012-10-22T11:23:54+00:00 app[web.1]: bash: bundle: command not found

Я не вижу, как я могу нести ответственность за то, чтобы сообщить стеку Heroku, где находится пакет, или предоставить его, так как bundler используется им именно для этой работы. Эта команда указана в Procfile для приложения:

web: bundle exec thin start -p $PORT -e $RACK_ENV

другой аналогичный вопрос о stackoverflow предполагает, что это происходит, если приложение изначально толкнуто на Heroku без Procfile, поэтому Heroku получает неправильное представление о том, что это за приложение. Этот плакат удалил его приложение и создал новое и сообщил об успехе. Тем не менее, усилия, связанные с удалением и воссозданием моего перенесенного приложения, высоки. Есть ли способ исправить это, а не начинать все сначала?

2 ответов


процесс сборки слизня Heroku должен был измениться в отношении приложений ruby 1.8.7. Я предполагаю, что они начали связывать 1.8 пути вместо 1.9.1 для 1.8 приложений. Мое ранее работавшее приложение перестало работать после того, как я попытался нажать новую редакцию.

вот что заставило его снова работать:

heroku config:add PATH=bin:vendor/bundle/1.8/bin:/usr/local/bin:/usr/bin:/bin GEM_PATH=vendor/bundle/1.8

Я взял эти пути из недавно созданного приложения, используя тот же репозиторий git, что и раньше.

EDIT: оказывается, heroku опубликовал статью devcenter Изменение Версии Ruby Ломает Путь это указывает пути для различных версий ruby.


У меня была та же проблема, и я решил ее, установив правильные переменные конфигурации heroku

$ heroku config
=== xxxx Config Vars
DATABASE_URL:                  postgres://(...)
GEM_PATH:                      vendor/bundle/ruby/1.9.1
HEROKU_POSTGRESQL_CRIMSON_URL: postgres://(...)
LANG:                          en_US.UTF-8
PATH:                          bin:vendor/bundle/ruby/1.9.1/bin:/usr/local/bin:/usr/bin:/bin
PGBACKUPS_URL:                 https://(...)
RACK_ENV:                      production
RAILS_ENV:                     production

вы можете создать пустое приложение rails, нажать его на heroku и проверить переменные, которые он автоматически установил, а затем скопировать (и адаптировать) их к вашему приложению