2012-01-16 11 views
1

私は古いレールアプリケーションを持っています。そして、このアプリケーションは異なるバージョンの同じ宝石が必要です。例えばRailsバンドル - 1つの宝石2つのバージョン

、それは今

宝石 'actionmailerの' 2.3.5と 'actionmailerの' 2.3.2 宝石 'actionpack'、 '2.3.5' と 'actionpack'、 '2.3.2' を使用

なぜ=)これは古いアプリだと非常に大規模です。現在のレールのバージョン2.3.5

今私は私の宝石のコントロールのためにバンドラーを使用しようとします。しかし、Bundlerは設定で1回の宝石を2回使用することはできません。バンドラーは、宝石のために互換性のあるバージョン "actionpack" を見つけることができませんでした

: datanoise-actionwebservice(= 2.3.2)ルビー actionpack(= 2.3.2に依存します: Gemfile内または私はこのようなエラーを見ることができます)だから、ルビー

rails (= 2.3.5) ruby depends on 
    actionpack (2.3.5) 

、私はこの問題を解決するかどうかと、私はバンドラーを使用can`tことができますか?

答えて

1

datanoise-actionwebserviceは、gemspecのactionpackとactiverecordバージョンについて非常に(おそらくあまりにも)制限的なようです。しかし、内部的には、これらの宝石を '> = 2.3.0'バージョンでロードしようとしています(lib/action_web_service.rb参照)。

私はこの宝石をフォークしてgemspecをパッチしてみることをお勧めしますので、actionpackとactiverecordのバージョン要件は '> = 2.3.2'に変更されます。

gem 'datanoise-actionwebservice', :git => "http://github.com/youraccount/actionwebservice.git" 

うまくいけば、それは同様2.3.5で動作します:

その後、パッチを当てたバージョンを使用するプロジェクトのGemfileを更新します。

+0

ありがとう!!それは素晴らしいアイデアです! –

1

いいえ、datanoise-actionwebserviceをバージョン2.3.5にアップグレードするか、railsを2.3.2にダウングレードする必要があります。

可能であればdatanoise-actionwebserviceをアップグレードすることをおすすめします。

+0

バージョン2.3.5の 'datanoise-actionwebservice'はありません。2.3.2のために私のアプリをダウングレードしても、私にとってはうまくいきませんでした...だから...もうオプションはありませんか? –

+0

それはできません:(バージョン2.3.5は存在しません –

関連する問題