Установите Rails 6 - Bundler не смог найти совместимые версии для gem actionpack

Мы хотим подготовить наше приложение для Rails 6.

gem 'rails', git: 'https://github.com/rails/rails.git', tag: 'v6.0.0.beta2'

Я побежал bundle install,

Bundler could not find compatible versions for gem "actionpack":
  In Gemfile:
    rails was resolved to 6.0.0.beta2, which depends on
      actionpack (= 6.0.0.beta2)

    rails-controller-testing was resolved to 1.0.4, which depends on
      actionpack (>= 5.0.1.x)

    rspec-rails was resolved to 3.8.2, which depends on
      actionpack (>= 3.0)

    sprockets-rails (~> 3.2.1) was resolved to 3.2.1, which depends on
      actionpack (>= 4.0)

Не уверен, как именно двигаться дальше (я должен закомментировать все драгоценные камни, которые перечислены как проблемные? Мне кажется, что все зависимости используют >= оператор - разве это не значит, что actionpack (= 6.0.0.beta2) тоже должен быть в порядке? Могу ли я получить руководство?

0 ответов

У меня была такая же проблема, когда я пытался протестировать 6.0.0.rc2. Я решил, удалив драгоценный камень minitest-rails-capybara от Gemfile и путем улучшения системных тестов в соответствии с https://edgeguides.rubyonrails.org/testing.html

Я потратил больше времени на это и узнал, как решить эти проблемы. Я уверен, что я не опубликовал наиболее важную часть вывода о зависимостях.

Обычно есть драгоценные камни, которые привязаны к некоторым версиям драгоценных камней. Вы хотите найти их вручную через вывод. Будьте осторожны с выводом, как это:

 gem_xyz was resolved to 3.8.2, which depends on
      actionpack (< 3.0)

Затем вы можете проверить, есть ли исправление в конкретной ветке Github, например, для версии Rails 6, и использовать гем непосредственно из этой ветки. Не очень просто, но вы можете идти медленно и подготовить свой проект к Rails6 чуть раньше...

Проблема не в пакете действий, а в других драгоценных камнях, которые вы пытаетесь установить, версии несовместимы с пакетом действий (= 6.0.0.beta2)

rails-controller-testing was resolved to 1.0.4

rspec-rails was resolved to 3.8.2

sprockets-rails (~> 3.2.1) was resolved to 3.2.1

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

  rspec-rails (~>3.4.2) and,
  factory_girl_rails (~>1.0.4)

Обновление обоих решает проблему.

Другие вопросы по тегам