运行捆绑安装时,出现以下错误
Bundler could not find compatible versions for gem "railties":在Gemfile: devise (~> 3.2.4)被解析为3.2.4,这取决于铁路(< 5,>= 3.2.6)
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 :
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文件,还在给出问题。
发布于 2016-04-19 15:14:32
好的,下面对railties版本需求的情况进行了一些分析,给出了错误信息:
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版本,您可以做的最小更改如下(注释):
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。
https://stackoverflow.com/questions/36721948
复制相似问题