Rails Bundle - един скъпоценен камък две версии

Имам старо приложение за релси. И това приложение се нуждае от едно и също бижу с различни версии.

Например, използва се сега

gem 'actionmailer' 2.3.5 и 'actionmailer' 2.3.2 gem 'actionpack', '2.3.5' и 'actionpack', '2.3.2'

Не ме питайте защо =) Това е старо приложение и много масивно. Текуща версия на релсите 2.3.5

Сега се опитвам да използвам bundler за моя контрол на скъпоценни камъни. Но Bundler не може да разреши използването на един скъпоценен камък два пъти в конфигурацията. Или мога да видя грешка като тази:

Bundler не можа да намери съвместими версии за gem "actionpack": В Gemfile: datanoise-actionwebservice (= 2.3.2) ruby ​​зависи от actionpack (= 2.3.2) ruby

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

И така, мога ли да разреша този проблем или не и не мога да използвам Bundler?


person prosto.vint    schedule 16.01.2012    source източник


Отговори (2)


datanoise-actionwebservice изглежда е много (вероятно твърде) ограничителен относно версиите на actionpack и activerecord в неговата gemspec. Виждам обаче, че вътрешно се опитва да зареди тези скъпоценни камъни с версии „>= 2.3.0“ (вижте lib/action_web_service.rb).

Бих предложил да опитате да разклоните този скъпоценен камък и да коригирате неговата gemspec, така че изискванията за версията за actionpack и activerecord да бъдат променени на '>= 2.3.2'.

След това актуализирайте Gemfile на вашия проект, за да използвате коригираната версия:

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

Надяваме се, че ще работи и с 2.3.5.

person Michał Szajbe    schedule 16.01.2012
comment
Благодаря!! Това е страхотна идея!! - person prosto.vint; 17.01.2012

Не, трябва или да надстроите своя datanoise-actionwebservice до версия 2.3.5, или да понижите своя rails до 2.3.2.

Предлагам да надстроите datanoise-actionwebservice, ако е възможно.

person sevenseacat    schedule 16.01.2012
comment
Жалко :( Няма „datanoise-actionwebservice“ с версия 2.3.5. Понижаването на приложението ми за 2.3.2 също не е добро за мен. Така че... мисля... че няма повече опции? - person prosto.vint; 16.01.2012
comment
Не е възможно :( Версия за 2.3.5 не съществува - person prosto.vint; 18.01.2012