Rails Bundle - одна жемчужина двух версий - PullRequest
1 голос
/ 16 января 2012

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

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

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

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

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

Bundler не смог найти совместимые версии для гема "actionpack": In Gemfile: datanoise-actionwebservice (= 2.3.2) зависит от actionpack (= 2.3.2) ruby ​​

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

Итак, я могу решить эту проблему или нет, и я не могу использовать Bundler?

Ответы [ 2 ]

1 голос
/ 16 января 2012

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

Я предлагаю обновить datanoise-actionwebservice, если это возможно.

0 голосов
/ 16 января 2012

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, а также.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...