0

これらのリンクで同様の質問がありましたが、答えは私の問題を解決しません。

Heroku が、私がローカルに持っているのと同じ宝石をリストしないのはなぜですか?

Rails 3: バンドル Exec

次の 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をインストールしており、delayed_job gemにはバージョン1.0.10が必要です。これは、他のバージョンで問題が発生したためです。Herokuルビーチームと話をしましたが、これを修正するには依存関係の変更が多すぎるため、修正しないとのことでした。したがって、ここで説明するように解決してスタックを変更するか(深刻な本番環境を実行している場合はお勧めしません)、または私のリポジトリからの遅延ジョブを使用して、自己責任でエラーを回避できます。私がしたことは、単にデーモンのバージョンへの依存関係を変更することでした。

于 2011-12-05T10:09:24.053 に答える