Rails Bundle — один драгоценный камень, две версии

У меня есть старое приложение rails. И этому приложению нужен один и тот же гем с разными версиями.

Например, он использует сейчас

gem «actionmailer» 2.3.5 и «actionmailer» 2.3.2 gem «actionpack», «2.3.5» и «actionpack», «2.3.2»

Не спрашивайте меня, почему =) Это старое и очень массивное приложение. Текущая версия рельсов 2.3.5

Теперь я пытаюсь использовать упаковщик для управления моими драгоценными камнями. Но Bundler не может позволить использовать один гем дважды в конфиге. Или я вижу такую ​​ошибку:

Упаковщик не смог найти совместимые версии для драгоценного камня «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).

Я предлагаю попробовать разветвить этот гем и исправить его спецификацию гемма, чтобы требования к версии для 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
Жаль :( В версии 2.3.5 нет 'datanoise-actionwebservice'. Понизить версию моего приложения до 2.3.2 мне тоже нехорошо. Итак... я думаю... больше нет вариантов? - person prosto.vint; 16.01.2012
comment
Это невозможно :( Версии для 2.3.5 не существует - person prosto.vint; 18.01.2012