0

在这些链接上提出了类似的问题,但答案并没有解决我的问题。

为什么 heroku 没有列出与我在本地拥有的相同的宝石?

Rails 3:捆绑执行

我有以下 Gemfile :

source 'http://rubygems.org'
gem 'rails'
gem 'daemons', '=1.0.10'
gem 'sqlite3'
gem 'locomotive_cms', :git => 'git://github.com/locomotivecms/engine.git', :require => 'locomotive/engine'

在我的 Gemfile.lock 中有这样的:

daemons (1.0.10)
delayed_job (3.0.0.pre4)
  activesupport (~> 3.0)
  daemons (= 1.0.10)

但是由于一些对我来说晦涩难懂的原因,我在 Heroku 上收到了这个错误:

You have already activated daemons 1.1.0, but your Gemfile requires daemons 1.0.10. Consider using bundle exec

那么这是否意味着 Heroku 以某种方式添加了这个 gem 版本,或者......我误解了一些关于 bundle 的内容?

4

1 回答 1

0

Heroku 已经在您的堆栈中安装了 1.1.0 守护进程,并且 delay_job gem 需要 1.0.10 版本,因为他们说其他版本存在问题。我已经与 Heroku ruby​​ 团队进行了交谈,他们说需要对其依赖项进行太多更改才能解决此问题,所以他们不会。因此,您可以像这里描述的那样解决它并更改您的堆栈(如果您正在运行一个严肃的生产环境,我不建议这样做),或者您可以使用我的回购中的延迟作业并避免错误,风险自负。我所做的只是改变对守护进程版本的依赖。

于 2011-12-05T10:09:24.053 回答