Bundler找不到gem" activesupport"的兼容版本。和"铁路"

时间:2013-07-22 19:32:49

标签: ruby-on-rails rubygems

我在Win 8 PC上成功安装了Railsinstaller并启动了一个项目。我设置了github并将项目推送到它。在第一台电脑上,一切都在找工作。然后我在第二台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文件时,我看到所有必需的版本都已安装。你能不能指出我可能做错了什么,因为我完全没有想法?谢谢。

更新:

这是我的宝石文件:

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

3 个答案:

答案 0 :(得分:11)

如果bundle说找不到兼容的gem版本,可能是因为它无处可寻。你给它版本号,即强制它为每个宝石采取某些版本,或者优于X或低于X的版本。

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

gem 'rspec-rails'

而不是

gem 'rspec-rails', '2.6.1'

答案 1 :(得分:0)

我在尝试创建ROR博客时遇到了同样的问题。解决方案是通过第5和第9行gem'trail'和gem'sass-rails'行编辑你的Gemfile。删除其后面有4.0版本的行的部分,并在终端中保存并重新键入命令。希望它有所帮助。

答案 2 :(得分:0)

我解决了所有这些 - “系统无法找到指定的文件路径”,所以使用Rails。 解决方案是为X:\RailsInstaller\Ruby2.0.0\bin提供正确的路径 有很多bat文件并在windows上安装,有一些奇怪的二进制路径,就像

C:\users\emechnic\railsinstaller\stage...

我用我的

替换了它

X:\RailsInstaller\Ruby2.0.0\bin它工作正常!! )