首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将mongoid更新为verison5.0.0,将rails更新为4.0.0,这给出了问题"Bundler找不到与gem“rails兼容的版本”

将mongoid更新为verison5.0.0,将rails更新为4.0.0,这给出了问题"Bundler找不到与gem“rails兼容的版本”
EN

Stack Overflow用户
提问于 2016-04-19 14:50:58
回答 1查看 519关注 0票数 0

运行捆绑安装时,出现以下错误

代码语言:javascript
复制
Bundler could not find compatible versions for gem "railties":

在Gemfile: devise (~> 3.2.4)被解析为3.2.4,这取决于铁路(< 5,>= 3.2.6)

代码语言:javascript
复制
factory_girl_rails (~> 4.4.0) was resolved to 4.4.1, which depends on
  railties (>= 3.0.0)

jquery-payment-rails was resolved to 0.0.1, which depends on
  railties (~> 4.0.0)

jquery-rails (~> 3.0.0) was resolved to 3.0.4, which depends on
  railties (< 5.0, >= 3.0)

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

rspec-rails (~> 3.4.0) was resolved to 3.4.2, which depends on
  railties (< 4.3, >= 3.0)

sass-rails (~> 3.2.3) was resolved to 3.2.3, which depends on
  railties (~> 3.2.0.beta)

Gemfile :

代码语言:javascript
复制
ruby '2.2.2'
## Sinatra App Gems
gem 'sinatra',      '~> 1.4.4'
gem 'sass',         '~> 3.4.13'
gem 'sinatra-assetpack', '~> 0.3.1', :require => 'sinatra/assetpack'
gem 'sinatra-env',  '~> 0.0.2'

## Rails App Gems
gem 'rails',        '~> 4.0.0'
gem 'foreman',      '~> 0.78.0'
gem 'puma',         '~> 2.14.0'
gem 'simple_form',  '~> 2.1.3'
gem 'simple_enum',  '~> 1.6.0', :require => 'simple_enum/mongoid'
gem 'mongoid',      '~> 5.0.0'
gem 'devise',       '~> 3.4.1'
gem 'possessive',   '~> 1.0.1'
gem 'american_date', '~> 1.1.0'
gem 'sht_rails',    '~> 0.2.2'
gem 'version',      '~> 1.0.0'
gem 'rdiscount',    '~> 2.1.7'
gem 'ssl_enforcer', '~> 0.2.3'
#

gem 'sidekiq',        '~> 3.5.0'
gem 'slim',           '~> 3.0.2'


group :development do
  gem 'capistrano',             '~> 3.4.0'
  gem 'capistrano-rvm',         '~> 0.1.2'
  gem 'capistrano-rails',       '~> 1.1.3'
  gem 'capistrano-bundler',     '~> 1.1.4'
  gem 'capistrano-foreman',     github: 'koenpunt/capistrano-foreman'
  gem 'spring'
  gem 'spring-commands-rspec',  '~> 1.0.4'
end

group :assets do
  gem 'pusher_rails',             '~> 1.0.1'
  gem 'sass-rails',               '~> 3.2.3'
  gem 'coffee-rails',             '~> 3.2.1'
  gem 'jquery-rails',             '~> 3.0.0'
  gem 'bootstrap-sass',           '~> 2.3.0.0'
  gem 'font-awesome-sass-rails',  '~> 3.0.2.2'
  gem 'uglifier',                 '>= 1.0.3'
  gem 'modernizr-rails',          '~> 2.7.1'
  gem 'jquery-payment-rails',     '~> 0.0.1'
  gem 'jquery-validation-rails',  '~> 1.13.1'
end

group :development, :test do
  gem 'test-unit',            '~> 3.0'
  gem 'rspec-rails',          '~> 3.3.3'
  gem 'factory_girl_rails',   '~> 4.5.0'
  gem 'mongoid-rspec',        '~> 1.13.0'
  gem 'guard-rspec',          '~> 4.6.4'
  gem 'simplecov',            '~> 0.10.0', require: false
end

group :test do
  gem 'database_cleaner',     '~> 1.5.1'
  gem 'faker',                '~> 1.5.0'
end

我也删除了gemfile.lock文件,还在给出问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-19 15:14:32

好的,下面对railties版本需求的情况进行了一些分析,给出了错误信息:

代码语言:javascript
复制
1) railties (>= 3.0.0)
2) railties (~> 4.0.0) => (< 4.1, >= 4.0.0)
3) railties (< 5.0, >= 3.0)
4) railties (= 4.0.0)
5) railties (< 4.3, >= 3.0)
6) railties (~> 3.2.0.beta) => (< 3.2.1, >= 3.2.0.beta)

这里的所有版本依赖项都可以共存,但6)除外,后者来自sass-rails gem。尝试更新到最新版本的sass-rails,您就会没事(5.0.4是最新版本),因为它使用railties (>= 4.0.0, < 5.0)。此外,在sass-rails 4.0.0之后的所有railties版本也将工作,因为这是railties依赖项更改的时候- 看看这个

更新

我检查了您的Gemfile,为了获得所需的mongo版本,您可以做的最小更改如下(注释):

代码语言:javascript
复制
ruby '2.2.2'
## Sinatra App Gems
gem 'sinatra',      '~> 1.4.4'
gem 'sass',         '~> 3.4.13'
gem 'sinatra-assetpack', '~> 0.3.1', :require => 'sinatra/assetpack'
gem 'sinatra-env',  '~> 0.0.2'

## Rails App Gems
gem 'rails',        '~> 4.0.0'
gem 'foreman',      '~> 0.78.0'
gem 'puma',         '~> 2.14.0'
gem 'simple_form',  '~> 3.0.0' # CHANGED
gem 'simple_enum',  '~> 1.6.0', :require => 'simple_enum/mongoid'
gem 'mongoid',      '~> 5.0.0'
gem 'devise',       '~> 3.4.1'
gem 'possessive',   '~> 1.0.1'
gem 'american_date', '~> 1.1.0'
gem 'sht_rails',    '~> 0.2.2'
gem 'version',      '~> 1.0.0'
gem 'rdiscount',    '~> 2.1.7'
gem 'ssl_enforcer', '~> 0.2.3'

gem 'sidekiq',        '~> 3.5.0'
gem 'slim',           '~> 3.0.2'

group :development do
  gem 'capistrano',             '~> 3.4.0'
  gem 'capistrano-rvm',         '~> 0.1.2'
  gem 'capistrano-rails',       '~> 1.1.3'
  gem 'capistrano-bundler',     '~> 1.1.4'
  gem 'capistrano-foreman',     github: 'koenpunt/capistrano-foreman'
  gem 'spring'
  gem 'spring-commands-rspec',  '~> 1.0.4'
end

group :assets do
  gem 'pusher_rails',             '~> 1.0.1'
  gem 'sass-rails',               '~> 4.0.1' # CHANGED
  gem 'coffee-rails',             '~> 4.0.0' # CHANGED
  gem 'jquery-rails',             '~> 3.0.0'
  gem 'bootstrap-sass',           '~> 2.3.0.0'
  gem 'font-awesome-sass-rails',  '~> 3.0.2.2'
  gem 'uglifier',                 '>= 1.0.3'
  gem 'modernizr-rails',          '~> 2.7.1'
  gem 'jquery-payment-rails',     :git =>  'https://github.com/thoughtbot/jquery-payment-rails.git', :ref => 'd401bf9' # CHANGED
  gem 'jquery-validation-rails',  '~> 1.13.1'
end

group :development, :test do
  gem 'test-unit',            '~> 3.0'
  gem 'rspec-rails',          '~> 3.4.0' # CHANGED
  gem 'factory_girl_rails',   '~> 4.5.0'
  gem 'mongoid-rspec',        '~> 3.0.0' # CHANGED
  gem 'guard-rspec',          '~> 4.6.4'
  gem 'simplecov',            '~> 0.10.0', require: false
end

group :test do
  gem 'database_cleaner',     '~> 1.5.1'
  gem 'faker',                '~> 1.5.0'
end

您可能应该在更改之后运行bundle update,但是要小心,因为这会根据Gemfile更新所有的gems。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36721948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档