【发布时间】:2014-09-22 20:30:47
【问题描述】:
对这个问题感到非常困惑。一切都在本地运行良好,但是当我部署到 Heroku 时,它遇到了这个错误:
Bundler could not find compatible versions for gem "mime-types":
In Gemfile:
rails (= 3.2.17) ruby depends on
mime-types (~> 1.16) ruby
stripe (>= 0) ruby depends on
mime-types (2.3)
我已经尝试在 gemfile 和命令行中安装 mime-types 2.3 的 gem,但都没有给出任何好的结果,尽管可能是因为我缺乏经验。
如果我有头发,我会把它拔掉!同样,这个问题只发生在部署到 Heroku 时。所有捆绑包都可以在本地正常安装和更新。
【问题讨论】:
-
Gemfile.lock 中的 mime-types 是什么版本?
-
我不太熟悉 Gemfile.lock 的工作原理,但它被列出了 5 次(我猜是其他 gem 的依赖项),版本从
mime-types (>= 1.25, < 3.0)到mime-types (~> 1.16)到 @ 987654324@。 2.3 未列出。在执行gem mime-types ~> 2.3时,我确实尝试删除这些,但它没有按预期工作......或者根本没有。 -
是的,您永远不必编辑 Gemfile.lock。在 Heroku 上运行
bundle install时是否遇到此错误?看起来 Bundler 正在错误地解析依赖项。 Stripe 需要'mime-types', '>= 1.25', '< 3.0',所以如果我理解正确,1.25.1 应该可以满足它。如果你做heroku run bundle install怎么办? -
@kitkat
heroku run bundle install运行成功,但部署仍然出现相同的错误。该错误仅在部署时出现。 -
好的,
heroku run bundle install输出了什么版本的 mime-types?像“使用地雷类型(x.y.z)”之类的东西。我想看看捆绑器在自己运行时是否正确解析。
标签: ruby-on-rails heroku mime-types strip