Bundler не находит текущую ActiveModel при обновлении Rails - PullRequest
0 голосов
/ 27 октября 2018

Попытка обновить приложение Rails 4.2.9 до Rails 5.2.1. Изменен Gemfile:

gem 'rails', '5.2.1'

Но, похоже, Bundler не может найти подходящую версию ActiveModel (которая нигде не упоминается в Gemfile).

Я обновил драгоценные камни, упомянутые ниже, до их самых последних версий (active_model_serializers, clearance, simple_form, sanitize и capybara-angular (до 0.2.5, поскольку 0.2.6 нарушает спецификации) и тесты пройдены по 4.2.9).

Не уверен, как подойти к этому. Мысли?

$ bundle update rails
  ...
  Bundler could not find compatible versions for gem "activemodel":
  In Gemfile:
    active_model_serializers (= 0.10.7) was resolved to 0.10.7, which depends on
      activemodel (< 6, >= 4.1)

    clearance (= 1.16.1) was resolved to 1.16.1, which depends on
      email_validator (~> 1.4) was resolved to 1.6.0, which depends on
        activemodel

    rails (= 5.2.1) was resolved to 5.2.1, which depends on
      activemodel (= 5.2.1)

    simple_form (= 3.5.1) was resolved to 3.5.1, which depends on
      activemodel (< 5.2, > 4)

Bundler could not find compatible versions for gem "nokogiri":
  In Gemfile:
    nokogiri (= 1.7.2)

    capybara-angular (= 0.2.5) was resolved to 0.2.5, which depends on
      capybara (>= 2.5.0) was resolved to 2.18.0, which depends on
        nokogiri (>= 1.3.3)

    sanitize (= 4.6.6) was resolved to 4.6.6, which depends on
      nokogumbo (~> 1.4) was resolved to 1.5.0, which depends on
        nokogiri

    sanitize (= 4.6.6) was resolved to 4.6.6, which depends on
      nokogiri (>= 1.4.4)

    capybara-angular (= 0.2.5) was resolved to 0.2.5, which depends on
      capybara (>= 2.5.0) was resolved to 2.18.0, which depends on
        xpath (< 4.0, >= 2.0) was resolved to 2.1.0, which depends on

1 Ответ

0 голосов
/ 30 октября 2018

Вы используете simple_form версии 3.5.1 и Rails 5.2.1. Первая версия simple_form для поддержки Rails 5.2 была версия 4.0 .

Вы можете сказать, что это проблема из-за этой строки:

simple_form (= 3.5.1) was resolved to 3.5.1, which depends on
  activemodel (< 5.2, > 4)

Обновите simple_form до версии не ниже 4.0.0, и это должно решить проблему.

Большинство репозиториев gem включают CHANGELOG, который документирует подобные проблемы совместимости, поэтому хорошим первым шагом является посещение репозитория для gem, чтобы проверить, что у вас последняя версия. (или хотя бы совместимый)

...