Bundler не смог найти совместимые версии для нескольких драгоценных камней, которые, кажется, попадают в диапазон требований - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь использовать камень spree, который зависит от kaminari (~> 1.0.1). В моем Gemfile.lock у меня есть kaminari (= 1.1.1). Это удовлетворяет требованию spree, так как оно больше или равно последней цифре. Тем не менее, я получаю эту ошибку при попытке связать:

Bundler could not find compatible versions for gem "kaminari":
  In snapshot (Gemfile.lock):
    kaminari (= 1.1.1)

  In Gemfile:
    activeadmin (~> 1.3) was resolved to 1.3.0, which depends on
      kaminari (>= 0.15)

    rails_admin (~> 1.3) was resolved to 1.3.0, which depends on
      kaminari (< 2.0, >= 0.14)

    spree (~> 3.5.0) was resolved to 3.5.0, which depends on
      spree_core (= 3.5.0) was resolved to 3.5.0, which depends on
        kaminari (~> 1.0.1)

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

Я не уверен, почему v1.1.1 не удовлетворяет требованиям для всех рассматриваемых драгоценных камней, поскольку кажется, что он попадает в диапазон для всех рассматриваемых драгоценных камней. Я попытался запустить bundle update, но затем я получил длинный список несовместимостей с драгоценными камнями, ни одна из которых не имеет смысла для меня, так как все их требования, кажется, находятся в пределах диапазона версии, которую я имею в моем файле блокировки. Например,

Bundler could not find compatible versions for gem "activemodel":
  In Gemfile:
    carrierwave (~> 1.2) was resolved to 1.2.2, which depends on
      activemodel (>= 4.0.0)

    rails (~> 5.1.6) was resolved to 5.1.6, which depends on
      activemodel (= 5.1.6)

    web-console (>= 3.3.0) was resolved to 3.6.2, which depends on
      activemodel (>= 5.0)

Bundler could not find compatible versions for gem "activerecord":
  In Gemfile:
    annotate (~> 2.7) was resolved to 2.7.4, which depends on
      activerecord (< 6.0, >= 3.2)

    friendly_id (~> 5.2) was resolved to 5.2.4, which depends on
      activerecord (>= 4.0.0)

    rails (~> 5.1.6) was resolved to 5.1.6, which depends on
      activerecord (= 5.1.6)

    activeadmin (~> 1.3) was resolved to 1.3.0, which depends on
      ransack (~> 1.3) was resolved to 1.8.8, which depends on
        activerecord (>= 3.0)

    spree_gateway (~> 3.3) was resolved to 3.3.3, which depends on
      spree_extension was resolved to 0.0.5, which depends on
        activerecord (>= 4.2)

Bundler could not find compatible versions for gem "activesupport":
  In Gemfile:
    activeadmin (~> 1.3) was resolved to 1.3.0, which depends on
      arbre (>= 1.1.1) was resolved to 1.1.1, which depends on
        activesupport (>= 3.0.0)

    carrierwave (~> 1.2) was resolved to 1.2.2, which depends on
      activesupport (>= 4.0.0)

    activeadmin (~> 1.3) was resolved to 1.3.0, which depends on
      inherited_resources (>= 1.7.0) was resolved to 1.8.0, which depends on
        has_scope (~> 0.6) was resolved to 0.7.2, which depends on
          activesupport (>= 4.1)

    jbuilder (~> 2.5) was resolved to 2.7.0, which depends on
      activesupport (>= 4.2.0)

    kaminari (~> 1.0.1) was resolved to 1.0.1, which depends on
      activesupport (>= 4.1.0)

    rails (~> 5.1.6) was resolved to 5.1.6, which depends on
      activesupport (= 5.1.6)

    activeadmin (~> 1.3) was resolved to 1.3.0, which depends on
      ransack (~> 1.3) was resolved to 1.8.8, which depends on
        activesupport (>= 3.0)

    spring was resolved to 2.0.2, which depends on
      activesupport (>= 4.2)

    sass-rails (~> 5.0) was resolved to 5.0.7, which depends on
      sprockets-rails (< 4.0, >= 2.0) was resolved to 3.2.1, which depends on
        activesupport (>= 4.0)

Bundler could not find compatible versions for gem "kaminari":
  In Gemfile:
    kaminari (~> 1.0.1)

    activeadmin (~> 1.3) was resolved to 1.3.0, which depends on
      kaminari (>= 0.15)

    rails_admin (~> 1.3) was resolved to 1.3.0, which depends on
      kaminari (< 2.0, >= 0.14)

Bundler could not find compatible versions for gem "spree_core":
  In Gemfile:
    spree (~> 3.5.0) was resolved to 3.5.0, which depends on
      spree_core (= 3.5.0)

    spree_gateway (~> 3.3) was resolved to 3.3.3, which depends on
      spree_core (< 4.0, >= 3.1.0)

Эти ошибки поднимают целый ряд новых вопросов, поскольку я не вижу конфликтов в версиях ни для одного из драгоценных камней.

Для activemodel, почему он не может использовать 5.1.6? Разве это не удовлетворяет всем требованиям?

Для activerecord, почему он не может использовать 5.1.6? Разве это не удовлетворяет всем требованиям?

Для activesupport, почему он не может использовать 5.1.6? Разве это не удовлетворяет всем требованиям?

Для kaminari, почему он не может использовать 1.0.1? Разве это не удовлетворяет всем требованиям?

Для spree_core, почему он не может использовать 3.5.0? Разве это не удовлетворяет всем требованиям?

Как можно решить эти проблемы? Я попытался запустить bundle update для всех драгоценных камней и для отдельных драгоценных камней, но в любом случае я получаю одно и то же сообщение об ошибке.

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

Вы проверили, совместима ли версия spree, которую вы пытаетесь установить, с более поздней версией kaminari? попробуйте понизить гем kaminari до "~> 1.0.1", чтобы увидеть, поможет ли это.

если это не сработает, то другим предложением будет запустить «обновление пакета» на вашем текущем наборе гемов », прежде чем« вы добавите «spree» в свой Gemfile, чтобы убедиться, что вы работаете со всеми последними версиями вашего установленного в настоящее время драгоценные камни.

0 голосов
/ 30 июня 2018

Это удовлетворяет требованию к веселью, так как оно больше или равно последней цифре.

Это не совсем правильно, документы для Gemfile в Bundler состояние:

Спецификатор ~> имеет особое значение, лучше всего показанное на примере. ~> 2.0.3 идентичен >= 2.0.3 и < 2.1.

Так что в вашем случае для каминари ~> 1.0.1 будет означать '>= 1.0.1' и '< 1.1', что (очевидно) 1.1.1 не соответствует.

Что касается остальных, то все выглядит для меня так, как будто это сработает, хотя я замечаю, что многим из них не нужно что-то делать с весельем или каминари, так что, возможно, исправление одного поможет тем , Другие могут также (возможно) быть каскадными ошибками, например, отсутствующие скобки или запятая в одном месте могут вызывать синтаксические ошибки во всем файле, может быть, только одна ошибка каскадно проходит через остальную часть пакета, я бы позаботился Каминари, а затем посмотрите, что у вас осталось.

...