![](/img/trans.png)
[英]Bundler could not find compatible versions for gem “railties” for Rails 4.0.0
[英]updating mongoid gem to verison 5.0.0 and rails to 4.0.0, it is giving issue “Bundler could not find compatible versions for gem ”railties"
運行捆綁安裝時出現以下錯誤
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)
寶石文件:
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文件,但仍然出現問題
好的,鑒於給您的錯誤,以下是對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)
。 另外,在4.0.0之后的所有sass-rails
版本也都可以使用,因為那是在更改railties
依賴關系時- 請參閱this 。
更新資料
我已經檢查了您的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更新所有gem。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.