捆绑程序无法找到gem "activesupport" 和 "railties "的兼容版本[英] Bundler could not find compatible versions for gem "activesupport" and "railties"

本文是小编为大家收集整理的关于捆绑程序无法找到gem "activesupport" 和 "railties "的兼容版本的处理方法,想解了捆绑程序无法找到gem "activesupport" 和 "railties "的兼容版本的问题怎么解决?捆绑程序无法找到gem "activesupport" 和 "railties "的兼容版本问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我在 Win 8 PC 上成功安装了 Railsinstaller 并启动了一个项目.我建立了github并将项目推送到它.在第一台 PC 上,一切正常.然后我在第二台 Win 8 PC 上安装了 Railsinstaller.在第二台 PC 上,我运行了 gem update rails.然后我运行 git clone [url] 并且也成功了.但是我无法启动 rails 服务器,因为缺少 gem.这是 gem list 的输出:

actionmailer (4.0.0, 3.2.13)
actionpack (4.0.0, 4.0.0.rc2, 3.2.13)
activemodel (4.0.0, 3.2.13)
activerecord (4.0.0, 3.2.13)
activerecord-deprecated_finders (1.0.3)
activerecord-sqlserver-adapter (3.2.10)
activeresource (3.2.13)
activesupport (4.0.0, 4.0.0.rc2, 3.2.13)
arel (4.0.0, 3.0.2)
atomic (1.1.10)
bcrypt-ruby (3.1.1 x86-mingw32)
bigdecimal (1.1.0)
builder (3.1.4, 3.0.4)
bundler (1.3.4)
coffee-rails (4.0.0, 3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.6.1)
devise (3.0.0)
diff-lcs (1.2.4)
erubis (2.7.0)
execjs (1.4.0)
hike (1.2.1)
i18n (0.6.4, 0.6.1)
io-console (0.3)
journey (1.0.4)
jquery-rails (3.0.4, 2.2.1)
json (1.5.5)
mail (2.5.3)
mime-types (1.21)
minitest (4.7.5, 2.5.1)
multi_json (1.7.1)
orm_adapter (0.4.0)
pg (0.14.1 x86-mingw32)
polyglot (0.3.3)
rack (1.5.2, 1.4.5)
rack-cache (1.2)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (4.0.0, 3.2.13)
railties (4.0.0, 4.0.0.rc2, 3.2.13)
rake (10.0.3, 0.9.2.2)
rb-readline (0.4.2)
rdoc (3.9.5)
rspec (2.14.1)
rspec-core (2.14.4)
rspec-expectations (2.14.0)
rspec-mocks (2.14.1)
rspec-rails (2.14.0)
rubyzip (0.9.9)
sass (3.2.7)
sass-rails (4.0.0, 3.2.6)
sprockets (2.10.0, 2.2.2)
sprockets-rails (2.0.0)
sqlite3 (1.3.7 x86-mingw32)
sqlite3-ruby (1.3.3)
thor (0.18.1, 0.17.0)
thread_safe (0.1.0)
tilt (1.3.6)
tiny_tds (0.5.1 x86-mingw32)
treetop (1.4.12)
tzinfo (0.3.37)
warden (1.2.3)

我试过bundle install:

Bundler could not find compatible versions for gem "railties":
  In Gemfile:
    rspec-rails (= 2.6.1) x86-mingw32 depends on
      railties (~> 3.0) x86-mingw32

    sass-rails (~> 4.0.0) x86-mingw32 depends on
      railties (4.0.0)

和bundle update:

Bundler could not find compatible versions for gem "activesupport":
  In Gemfile:
    rspec-rails (= 2.6.1) x86-mingw32 depends on
      activesupport (~> 3.0) x86-mingw32

    rails (= 4.0.0) x86-mingw32 depends on
      activesupport (4.0.0)

Bundler could not find compatible versions for gem "railties":
  In Gemfile:
    rails (= 4.0.0) x86-mingw32 depends on
      railties (= 4.0.0) x86-mingw32

    sass-rails (~> 4.0.0) x86-mingw32 depends on
      railties (4.0.0.rc2)

但这并没有帮助.我还删除了 gemfile.lock 并运行了上述命令,但仍然没有运气.我觉得奇怪的是它抱怨 gem 的版本冲突,但是当我查看 gem 文件时,我发现所有必要的版本都已安装.您能否指出我可能做错了什么,因为我完全没有想法?谢谢.

更新:

这是我的 gemfile:

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.0'

# Use sqlite3 as the database for Active Record
#gem 'sqlite3'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'

# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'

# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'

# See https://github.com/sstephenson/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', '~> 1.2'

group :doc do
  # bundle exec rake doc:rails generates the API under doc/api.
  gem 'sdoc', require: false
end

# Use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# Use unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano', group: :development

# Use debugger
# gem 'debugger', group: [:development, :test]

group :development do
  gem 'sqlite3'
  gem 'rspec-rails', '2.6.1', :require => 'rspec-rails'
  gem 'faker', '0.3.1'
end

group :test do
    gem 'sqlite3'
    gem 'rspec-rails', '2.6.1', :require => 'rspec-rails'
    gem 'webrat', '0.7.1'
    gem 'factory_girl_rails', '1.0'
    gem 'turn', :require => false
end

group :production do
    gem 'pg'
end

推荐答案

如果 bundle 提示找不到兼容的 gem 版本,可能是因为它无处可寻.您正在给它版本号,即强制它为每个 gem 采用某些版本,或者优于 X 或低于 X 的版本.

尝试从您的 Gemfile 中删除罪魁祸首 gem 的版本号,然后重试:

gem 'rspec-rails'

而不是

gem 'rspec-rails', '2.6.1'

本文地址:https://www.itbaoku.cn/post/786718.html