Gem 文件请求从 Rails 4 升级到 Rails 5 时安装的依赖项,但它说找不到兼容版本

Gem file is requesting dependencies that are installed when upgrading from Rails 4 to Rails 5 but it says it could not find compatible versions

这是我对 Rails 的第一次重大升级(v4 到 v5)。我做了一些小的升级,比如 4.1.1 到 4.2 等...

我已经升级到 5.1.1,但我在控制台中收到此依赖项错误

Bundler could not find compatible versions for gem "actionmailer":
  In Gemfile:
    mail_form (= 1.7.0) was resolved to 1.7.0, which depends on
      actionmailer (< 5.2, >= 3.2)

    rails (>= 5.1.1, ~> 5.1) was resolved to 5.1.1, which depends on
      actionmailer (= 5.1.1)

但是,我安装了 actionmailer 5.1.1。这看起来像它所要求的。这些似乎是一个菜鸟问题,但看起来 rails 必须有 actionmailer 5.1.1 并且 mail_form 可以有低于 5.2 的版本或 equal/greater 低于 3.2。 5.1.1 满足这两个条件....那是怎么回事?

下面还说了这个

Could not find gem 'rails (>= 5.1.1, ~> 5.1)' in any of the sources.

但我已经卸载并重新安装了 rails 5.1.1 以确保。

我也试过用 5.0.0 这样做,但遇到了同样的问题。

这只是此包中众多 "Bundler could not find compatible versions for gem " 错误之一。

ruby '2.3.1'

source 'https://rubygems.org'

gem 'rails', '~> 5.1', '>= 5.1.1'

gem 'pg'
gem 'sass-rails', '~> 5.0', '>= 5.0.6'
gem 'uglifier', '>= 1.3.0'
gem 'yui-compressor'

# gem 'coffee-rails', '~> 4.1.0'
gem 'twitter-bootstrap-rails',  '= 3.2.2'
gem 'bootstrap-sass',  '>= 3.3.6'
gem 'draper', '= 3.0.1' 
gem 'jquery-rails', '~> 4.1', '>= 4.1.1'
gem "jquery-ui-rails"
gem 'sidekiq', '~> 4.2', '>= 4.2.2'
gem 'redis'
gem 'redis-namespace'
# gem 'turbolinks' 
gem 'jbuilder', '= 2.7.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'devise', '= 4.4.0'
gem 'omniauth', '~> 1.3', '>= 1.3.1'
gem 'omniauth-facebook'
gem 'omniauth-google-oauth2', '~> 0.3.0'
gem 'omniauth-twitter'
gem 'omniauth-eventbrite', '~> 0.0.6'
gem 'twitter' #for posting to twitter
gem 'koala' #for posting to facebook
gem 'sprockets-rails', '= 3.2.1'
gem 'sprockets', '~> 3.7', '>= 3.7.1'
gem 'geoip', '~> 1.6', '>= 1.6.1'
gem 'jsTimezoneDetect-rails'
gem 'simple_form'
# gem 'client_side_validations',  '= 4.2.12' #todo check validations NO RAILS 5
# gem 'client_side_validations-simple_form', '= 3.4.0'
gem 'acts_as_commentable'
gem 'attr_encrypted', '~> 3.0', '>= 3.0.3'
gem 'httparty', '~> 0.14.0'
gem "skylight"
gem 'braintree'
gem 'bitly', '~> 1.1', '>= 1.1.1'
# gem 'ahoy_email', '~> 0.2.3'
# gem 'compass-rails' #needed for chosen
# gem 'chosen-rails', '~> 1.5', '>= 1.5.2'
gem 'bootstrap-table-rails', '~> 1.11'
# gem 'chartjs-ror'
gem 'chartkick', '~> 2.2', '>= 2.2.3'
gem 'groupdate', '= 3.2.0'
gem 'hightop', '~> 0.2.0'
gem 'active_median', '~> 0.1.4'

gem 'bootstrap-tagsinput-rails'
gem 'faker'
gem 'slim'
# gem 'less-rails', '>= 2.8'
# gem 'less-rails', github: 'metaskills/less-rails', branch: 'depends_only_on_less_files'
# gem 'less-rails', git: 'https://github.com/Genkilabs/less-rails' #fix for deprecated Sprockets ImportProcessor
gem 'less-rails-bootstrap'
gem 'therubyracer'
gem 'american_date'
gem 'mail_form', '= 1.7.0'
# gem 'cancancan'
gem 'kaminari', '= 1.1.1'
gem 'bootstrap-kaminari-views', '~> 0.0.5'
gem 'aws-sdk', '~> 2'
gem 'carrierwave-aws'
gem 'carrierwave'
gem 'carrierwave-base64'
gem 'rmagick', '~> 2.16'
gem 'simple_form_fancy_uploads', '~> 0.2.0'
gem 'remotipart', '~> 1.2.1'
gem 'wysiwyg-rails', '=  2.7.3'
gem 'wicked'
gem 'meta-tags', '= 2.7.0'
gem 'acts-as-taggable-on', '~> 4.0'
gem 'acts_as_list', '~> 0.7.2'
gem 'factory_girl_rails'
gem 'friendly_id', '~> 5.1.0'
gem 'paranoia', '~> 2.2', '>= 2.2.1'
gem 'google-analytics-rails', '~> 1.1'
gem 'responders', '= 2.4.0'
gem 'cocoon', '~> 1.2', '>= 1.2.9'
gem 'momentjs-rails', '>= 2.9.0'
gem 'bootstrap3-datetimepicker-rails', '~> 4.17.42'
gem 'tzinfo', '~> 1.2', '>= 1.2.3'
gem 'tzinfo-data'
# gem 'temporal-rails', '~> 0.2.4' #railties dependency
gem 'geocoder', '~> 1.3', '>= 1.3.1'
gem 'timezone', '~> 1.1'
gem 'browser'
gem 'jquery-datatables-rails', '~> 3.4'
gem 'hashie', '~> 3.4', '>= 3.4.4'
# Sinatra - might be required for the Sidekiq web UI?
gem 'sinatra', '~> 1.2'

gem 'paypal-sdk-permissions'
gem 'paypal-sdk-rest' #maybe use



# gem 'paypal-sdk-invoice'
# gem 'resque', '~> 1.26'
# gem 'resque-scheduler', '~> 4.1'
# gem 'active_scheduler', '~> 0.0.3'
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'
gem 'gon', '~> 6.0', '>= 6.0.1'

gem 'puma'
gem 'rack-timeout'
gem 'rest-client'
gem 'airbrake', '~> 5.6', '>= 5.6.1'
# gem 'rack-cache', '~> 1.6', '>= 1.6.1'
gem 'rack-attack', '~> 5.0', '>= 5.0.1'
gem 'rack-cors', '~> 0.4.0'
gem 'puma_worker_killer', '~> 0.0.7'
gem 'local-subdomain'
gem 'scout_apm'

gem 'concerned_with', '~> 0.1.0'
# gem 'elasticsearch-rails', git: 'git://github.com/elasticsearch/elasticsearch-rails.git'
# gem 'elasticsearch-model', git: 'git://github.com/elasticsearch/elasticsearch-rails.git'

gem 'pusher', '~> 1.3.1'

group :development do
  gem 'better_errors'
  # gem 'quiet_assets'
  gem 'foreman'
  gem 'guard-rspec', require: false
  # gem 'bullet', '~> 5.0'
  gem 'rake', '~> 11.1', '>= 11.1.1'
  gem 'web-console', '>= 2.3.0'
  # gem 'derailed_benchmarks', '~> 1.3', '>= 1.3.1'
  # gem 'rack-mini-profiler', '~> 0.10.1'

end


group :development, :test do
  gem 'rspec-rails','= 3.7.2'
  gem 'byebug'
  gem 'spring'
  gem 'spring-commands-rspec'
  gem 'mailcatcher', '~> 0.6.4'
  gem 'capybara', '~> 2.7', '>= 2.7.1'
  gem 'capybara-screenshot', '~> 1.0', '>= 1.0.13'
  gem 'database_cleaner'
  gem "email_spec"
  gem 'shoulda-matchers'
  gem 'rspec-activejob'
  gem 'awesome_print'
  gem 'lol_dba', '~> 2.1', '>= 2.1.1'
  gem 'rb-readline'
# gem 'invoice_samples', :git => "https://github.com/paypal/invoice-sdk-ruby.git"

end

group :test do
  gem 'poltergeist'
  gem 'selenium-webdriver'
  gem 'launchy'
  gem 'db-query-matchers'
  gem 'timecop'
  gem 'codeclimate-test-reporter'
  gem 'webmock', '~> 2.1'
end

group :production do
  gem 'rails_12factor'
  gem 'newrelic_rpm'
  gem 'keen'
end

在捆绑安装之前,您是否确保将 RVM 设置为您需要的 ruby 版本 (rvm use 2.3.1p112)?

您也可以在 install 之前尝试 bundle update,看看是否有帮助。

我最终从 rails 和 pg 开始逐行重建 gem 文件,然后粘贴并捆绑安装每个新行。

我发现我挂在 "Sinatra"。

我在捆绑完整 gem 文件时发现的错误中有

None 出现在逐行捆绑中。叹息