Ruby on rails RubyonRails 5.0.0.2与GemMongoid不兼容且冲突

Ruby on rails RubyonRails 5.0.0.2与GemMongoid不兼容且冲突,ruby-on-rails,mongoid,Ruby On Rails,Mongoid,ruby版本2.3.0 rails版本5.0.0.beta2 **档案** source 'https://rubygems.org' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '>= 5.0.0.beta2', '< 5.1' #mongoid gem gem 'mongoid', '~> 5.1.0' # Use Puma as the app serve

ruby版本2.3.0

rails版本5.0.0.beta2

**档案**

    source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '>= 5.0.0.beta2', '< 5.1'
#mongoid gem
gem 'mongoid', '~> 5.1.0'
# Use Puma as the app server
gem 'puma'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# Action Cable dependencies for the Redis adapter
gem 'redis', '~> 3.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'
end
group :development do
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 3.0'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
源代码'https://rubygems.org'
#捆绑边缘Rails:gem'Rails',github'Rails/Rails'
gem'rails','>=5.0.0.beta2','<5.1'
#蒙古德宝石
gem'mongoid',“~>5.1.0”
#使用Puma作为应用程序服务器
宝石“美洲狮”
#将SCS用于样式表
gem'sass-rails',“~>5.0”
#使用Uglifier作为JavaScript资产的压缩器
gem'uglifier','>=1.3.0'
#将CoffeeScript用于.coffee资产和视图
gem“咖啡轨”,“~>4.1.0”
#看https://github.com/rails/execjs#readme 获取更多受支持的运行时
#宝石“therubyracer”,平台::ruby
#使用jquery作为JavaScript库
gem'jqueryrails'
#Turbolinks使web应用程序中的以下链接更快。阅读更多:https://github.com/rails/turbolinks
gem“涡轮链接”
#轻松构建JSON API。阅读更多:https://github.com/rails/jbuilder
gem'jbuilder',“~>2.0”
#Redis适配器的操作电缆依赖项
gem'redis',“~>3.0”
#使用ActiveModel具有\u安全\u密码
#gem'bcrypt',“~>3.1.7”
#使用Capistrano进行部署
#gem“capistrano rails”,集团::开发
小组:开发,:测试
#在代码中的任意位置调用“byebug”以停止执行并获得调试器控制台
宝石“比伯”
结束
小组:发展怎么办
#在异常页面上或通过在视图中使用访问IRB控制台
gem“web控制台”,“~>3.0”
#Spring通过让应用程序在后台运行来加速开发。阅读更多:https://github.com/rails/spring
宝石“春天”
结束
#Windows不包括zoneinfo文件,因此捆绑tzinfo数据
gem'tzinfo data',平台:[:mingw,:mswin,:x64_mingw,:jruby]

运行bundle安装后,我看到:

Bundler could not find compatible versions for gem "activemodel":
  In snapshot (Gemfile.lock):
    activemodel (= 5.0.0.beta2)

  In Gemfile:
rails (< 5.1, >= 5.0.0.beta2) was resolved to 5.0.0.beta2, which
depends on
activerecord (= 5.0.0.beta2) was resolved to 5.0.0.beta2, which
depends on
        activemodel (= 5.0.0.beta2)

rails (< 5.1, >= 5.0.0.beta2) was resolved to 5.0.0.beta2, which
depends on
activerecord (= 5.0.0.beta2) was resolved to 5.0.0.beta2, which
depends on
        activemodel (= 5.0.0.beta2)

    mongoid (~> 4.0.0) was resolved to 4.0.0, which depends on
      activemodel (~> 4.0)

    web-console (~> 3.0) was resolved to 3.1.1, which depends on
      activemodel (>= 4.2)
Bundler找不到gem“activemodel”的兼容版本:
在快照(Gemfile.lock)中:
activemodel(=5.0.0.beta2)
在文件中:
rails(<5.1,>=5.0.0.beta2)被解析为5.0.0.beta2,这
取决于
activerecord(=5.0.0.beta2)解析为5.0.0.beta2,这
取决于
activemodel(=5.0.0.beta2)
rails(<5.1,>=5.0.0.beta2)被解析为5.0.0.beta2,这
取决于
activerecord(=5.0.0.beta2)解析为5.0.0.beta2,这
取决于
activemodel(=5.0.0.beta2)
mongoid(~>4.0.0)已解析为4.0.0,这取决于
activemodel(~>4.0)
web控制台(~>3.0)已解析为3.1.1,这取决于
activemodel(>=4.2)
运行
bundle update
将使用 只有
gems文件中的gems,这可能会解决冲突。

Rails 5上的Mongoid有一个功能分支。将此添加到您的文件中

gem 'mongoid', git: 'https://github.com/estolfo/mongoid.git', branch: 'MONGOID-4218-rails-5'

几天前,您可以将以下内容添加到您的文件中:


gem'mongoid',git:'https://github.com/mongodb/mongoid.git“

我遇到了同样的问题。我将mongoid gem版本更改为6.1.0,运行bundle update后,一切正常

#mongoid gem
gem 'mongoid', '~> 6.1.0'

您确定错误来自绑定提供的文件吗?因为
gem'mongoid','~>5.1.0'
不应该导致
mongoid(~>4.0.0)被解析为4.0.0,这取决于activemodel(~>4.0)
很简单:mongoid还不能与rails 5一起工作。有一张公开票,他们将在mongoid 6中添加它。我创建了rails新商店--跳过活动记录this@AZZ_B你打算使用mongoid吗?我在我的项目中使用了它。这似乎与5.0.0.beta4不兼容:(@RomanGaufman)如果该错误已报告给mongoid JIRA跟踪器,那么兼容性应该会很快实现。是的,这似乎起到了作用。记住将Rails版本提升到beta4(或阅读本文时的最新版本)