【发布时间】:2015-01-27 14:21:10
【问题描述】:
我最近将我们的 Gemfile 更新为 pry-byebug 和 bye-bug 导致我的一些同事的 Rubymine 崩溃。由于我们中有些人使用其他编辑器,因此我在 Gemfile 中添加了一个环境变量:
if ENV["USE_DEBUGGER"]
gem "pry-byebug"
gem "byebug"
end
这在我们的本地机器上运行良好,但部署到 Heroku 会导致以下错误:gist
我尝试运行bundle install 并提交一个新的Gemfile.lock,但这并没有改变。摆脱控制流声明或简单地删除 gem 可以解决问题。在同一次提交中,我将所需的 ruby 版本提升到 2.2.0 是毫无价值的
有什么方法可以在Gemfile 中使用条件语句而不会炸毁 Heroku?
【问题讨论】:
-
几乎在发布这个问题后,我刚刚意识到为什么会这样: env 变量是在我的本地 repo 中定义的,这导致 Gemfile.lock 包含两个 gem,但是因为变量不是在 Heroku 中定义的 gem 不是由 bundle 安装的,但 Gemfile.lock 仍然需要它,导致各种问题......
标签: ruby-on-rails git heroku rubymine