2015-01-27 2 views
0

Я недавно обновил наш Gemfile, поскольку pry-byebug и bye-bug заставляли Rubyine рушиться для некоторых моих коллег. Так как некоторые из нас, которые используют другие редактор, я добавил переменное окружение нашей Gemfile:Развертывание в Heroku с переменными окружения в Gemfile

if ENV["USE_DEBUGGER"] 
    gem "pry-byebug" 
    gem "byebug" 
end 

Это работало отлично в наших местных машинах, но развертывание на Heroku вызывает следующее сообщение об ошибке: gist

I Я попытался запустить bundle install и совершил новый Gemfile.lock, но ничего не меняет. Избавление от декларации потока управления или просто удаление драгоценных камней устраняет проблему. Не стоит ничего, что в том же самом деле я столкнулся с необходимой рубиновой версией до 2.2.0

Можно ли использовать условные утверждения в Gemfile без взорвать Героку?

+0

Почти сразу после публикации этого вопроса я только что понял, почему это происходит: переменная env определена в моем локальном репо, что заставляет Gemfile.lock включать оба драгоценных камня, однако, поскольку переменная не определена в Heroku, драгоценные камни не установлены пакетом, но все еще требуются Gemfile.lock, вызывая всевозможные проблемы ... – Gus

ответ

0

Хорошо так после того, как жонглирование RubyMine я понял, проблема возникает, когда require ИНГ монтировку и любые другие соответствующие отладочные драгоценные камни. Мне удалось это исправить, обновив свою Gemfile к следующему:

if ENV["USE_DEBUGGER"] 
    gem "pry-byebug" 
    gem "byebug" 
    else 
    gem "pry-byebug", require: false 
    gem "byebug", require: false 
    end 

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

0

Оберните условное обозначение в группе и попробуйте BUNDLE_WITHOUT при развертывании. ref

group :byebug do 
    if ENV["USE_DEBUGGER"] 
    gem "pry-byebug" 
    gem "byebug" 
    end 
end 

heroku config:add BUNDLE_WITHOUT="byebug"

+0

Эй, спасибо за ваш ответ. Я забыл упомянуть, что оба драгоценных камня находятся в группе 'development', и, как вы можете видеть в gist, я уже запускаю BUNDLE_WITHOUT =« development: test ». Поэтому теоретически эти драгоценные камни не должны устанавливаться, но как-то я все еще получаю конфликт. – Gus

+0

Ок, извините, я пропустил это. Да, моя следующая догадка была Gemfile.lock. Удалось ли решить проблему развертывания? – eabraham