Допускает ли Gemfile `> =` новые основные версии для удовлетворения дененденции?

Я пытаюсь обновить веб-службу с Rails 6.0 до Rails 6.1. Во время работы я вижу некоторые ошибки, которые считаю странными, поскольку требования к номерам версий зависимостей кажутся совместимыми, если предположить, что >=3.0.0 может быть доволен версией 6.1. Является ли ошибка бросают , потому что в Ruby, имеет некоторые ограничения (т.е. должно быть больше или равно .... но не что больше .... или нет , что равно ...)?

Например:

      Bundler could not find compatible versions for gem "railties":
  In Gemfile:
    bootstrap-datepicker-rails was resolved to 1.9.0.1, which depends on
      railties (>= 3.0.0)

    coffee-rails was resolved to 5.0.0, which depends on
      railties (>= 5.2.0)

    dotenv-rails was resolved to 2.7.6, which depends on
      railties (>= 3.2)

    factory_bot_rails was resolved to 6.1.0, which depends on
      railties (>= 5.0.0)

    jquery-ui-rails was resolved to 6.0.1, which depends on
      railties (>= 3.2.16)

    pikaday-gem was resolved to 1.4.0, which depends on
      railties (>= 3.1)

    rails (~> 6.1) was resolved to 6.1.0, which depends on
      railties (= 6.1.0)

    rspec-rails was resolved to 4.0.2, which depends on
      railties (>= 4.2.0)

На мой взгляд, railties (= 6.1.0) требование является самым строгим, но полностью удовлетворяет всем остальным зависимостям, которые зависят от >=какая-то более ранняя версия. Почему просто не установить 6.1.0?

РЕДАКТИРОВАТЬ: я попытался воссоздать проблему с помощью этого минимального Gemfile и потерпел неудачу:

      source "https://rubygems.org"


ruby "~> 2.6.6"

gem "rails", "~> 6.1"
gem "bootstrap-datepicker-rails"
gem "coffee-rails"
gem "dotenv-rails"
gem "factory_bot_rails"
gem "jquery-ui-rails"
gem "pikaday-gem"
gem "rspec-rails"

Я также пробовал с Ruby 2.7 и 3.0, и все они установились. Если я снова увижу проблему, я обновлю этот вопрос еще раз, добавив лучший минимальный Gemfile. До тех пор мы отказались от Rails 6, поскольку Apartment несовместима.

РЕДАКТИРОВАТЬ 2: Вот далеко не минимальный гем-файл, который воспроизводит проблему, но теперь проблема более загадочная. Если один бежит bundle install, он выдаст ошибки, подобные той, что в моем вопросе, показывая наборы драгоценных камней с несовместимыми версиями зависимостей. Но если я закомментирую все драгоценные камни в этом гемфайле, кроме тех, с предполагаемыми конфликтами, они установятся нормально. Другими словами, что - то еще заставляет сборщик выдавать вводящие в заблуждение ошибки о несовместимости gemset.

Вот Gemfile, чтобы убедиться в этом:

      source "https://rubygems.org"


ruby "~> 2.7.0"

git_source(:github) do |repo_name|
  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
  "https://github.com/#{repo_name}.git"
end

gem "tzinfo-data"
gem "RedCloth", "~> 4.2.9"
gem "activerecord-import"
gem "apartment"
gem "attr_encrypted"
gem "carrierwave"
gem "email_validator"
gem "flutie"
gem "googlecharts", "~> 1.6.8"
gem "mini_magick"
gem "mysql2"
gem "neat"
gem "normalize-rails", "~> 3.0.0"
gem "omniauth-stripe-connect", "~> 2.9"
gem "pikaday-gem"
gem "pothoven-attachment_fu"
gem "prawn"
gem "prawn-table"
gem "puma_worker_killer"
gem "qbwc"
gem "rack-cors", require: "rack/cors"
gem "rack-mini-profiler", "~> 0.10.1"
gem "rack-rewrite", "~> 1.5"
gem "rails", "~> 6.1"
gem "recipient_interceptor"
gem "rollbar", "~> 2.27"
gem "simple_form"
gem "stripe", "~> 1.41"
gem "sucker_punch"
gem "will_paginate", "~> 3.1"
gem "xmlrpc"
gem "bootstrap-sass"
gem "coffee-rails"
gem "fog", require: "fog/aws/storage"
gem "fog-aws", require: false
gem "jbuilder", "~> 2.10"
gem "jquery-rails"
gem "jquery-ui-rails"
gem "memory_profiler"
gem "puma"
gem "rails-jquery-autocomplete"
gem "record_tag_helper"
gem "sass-rails"
gem "therubyracer", platforms: :ruby
gem "uglifier", ">= 1.3.0"

gem "bootstrap-datepicker-rails"
gem "american_date"

#Google App Engine
gem "appengine", "~> 0.5.0"
gem "stackdriver"

# speed boot time.  Remove if Rails >=5.2 (comes with bootsnap https://guides.rubyonrails.org/5_2_release_notes.html)
gem 'bootsnap', require: false

group :production do
  gem "newrelic_rpm"
  gem "rack-timeout", "~> 0.4.2"
end

group :development do
  gem "better_errors", "~> 2.0.0"
  gem "binding_of_caller", "~> 0.8.0"
  gem "bullet", "~> 6.1"
  gem "pronto"
  gem "pronto-brakeman", require: false
  gem "pronto-eslint", require: false
  gem "pronto-flay", require: false
  gem "pronto-poper", require: false
  gem "pronto-reek", require: false
  gem "pronto-rubocop", require: false
end

group :development, :test do
  gem "awesome_print"
  gem "byebug"
  gem "dotenv-rails"
  gem "factory_bot_rails"
  gem "ffaker", "~> 2.2"
  gem "pry-byebug"
  gem "pry-rails"
  gem "railroady"
end

group :test do
  gem "database_cleaner"
  gem "formulaic"
  gem "launchy"
  gem "rspec-rails"
  gem "shoulda-callback-matchers", "~> 1.1"
  gem "shoulda-matchers", "~> 3.1", require: false
  gem "simplecov", "~> 0.21.2"
  gem "site_prism"
  gem "timecop"
  gem "webmock"
end

0 ответов

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