2012-02-01 128 views
7

我想安装新版本的twitter-bootstrap-rails宝石(v2),但获取上述错误。这是我的Gemfile的样子:Rails 3.1.2 - Bundler无法找到兼容版本的宝石“railties”

source 'http://rubygems.org' 

gem 'rails', '3.1.2' 

# Bundle edge Rails instead: 
# gem 'rails',  :git => 'git://github.com/rails/rails.git' 


gem 'mysql2' 
gem 'authlogic' 
gem "paperclip", "~> 2.4.5" 
gem 'aws-s3' 
gem 'actionmailer' 
gem "twitter-bootstrap-rails", "~> 2.0" 
gem 'sunspot_rails' 

#endless page 
gem 'will_paginate' 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.1.5.rc.2' 
    gem 'coffee-rails', '~> 3.1.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

group :production do 
    gem 'therubyracer-heroku', '~> 0.8.1.pre3' 
    gem 'pg' 
    gem 'thin' 
end 

group :development do 
    gem "taps", "~> 0.3.23" 
    gem "rvm", "~> 1.9.2" 
end 

gem 'jquery-rails' 

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

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

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'ruby-debug19', :require => 'ruby-debug' 

,完整的错误:

Bundler could not find compatible versions for gem "railties": 
    In Gemfile: 
    twitter-bootstrap-rails (~> 2.0) ruby depends on 
     railties (>= 3.2.1) ruby 

    sass-rails (~> 3.1.5.rc.2) ruby depends on 
     railties (3.1.0) 

有什么不对?当我从宝石,它的工作原理删除版本~> 2.0,但我需要引导的新版本...

编辑:捆绑安装

Bundler could not find compatible versions for gem "railties": 
    In snapshot (Gemfile.lock): 
    railties (3.1.2) 

    In Gemfile: 
    twitter-bootstrap-rails (~> 2.0) ruby depends on 
     railties (>= 3.2.1) ruby 

Running `bundle update` will rebuild your snapshot from scratch, using only 
the gems in your Gemfile, which may resolve the conflict. 
+0

你运行你的应用程序之前,你做了'束install'?当然 – uday 2012-02-01 15:53:51

+0

,当我做到了,我得到了上述(更新后)输出 – user984621 2012-02-01 15:55:56

+1

尝试删除'Gemlock'文件,并尝试 – uday 2012-02-01 15:58:45

回答

22

解决方案:

gem 'rails', '3.2.1' 
gem "sass-rails", "~> 3.2.4" 
gem "coffee-rails", "~> 3.2.2" 

然后

bundle update 
+0

我有一个类似的问题,软件包更新是求解器。投了票。干杯。 – 2012-07-29 05:47:44

+0

我试过了,它在本地工作,但只要我推到heroku,我就会得到“我们很抱歉,但是出了问题。”视图。任何有关如何解决这个问题的见解? https://github.com/aharris/The-Childrens-Journey/commit/b3c1237b3237ba4fa78a1792a04f59dceceecc26 – busyPixels 2013-01-16 03:04:59

+2

你可以解释发生了什么,你做了什么来克服这个pblm? – shajin 2013-04-18 11:38:07

1

答案是捆扎机的输出。您的项目使用Rails 3.1.2,这需要railties 3.1.2。你试图安装的twitter-bootstrap-rails的版本显然取决于railties> = 3.2.1,这是你没有的。

你有三个选择,从外观上来看:

  1. 看看在twitter-bootstrap-rails repo,走的事实,它看起来像他们正试图降低依赖回> = 3.1注。等待新版本发布或使用其主分支。
  2. 升级您的项目以使用Rails 3.2
  3. 使用旧版本的twitter-bootstrap-rails仍然适用于Rails 3.1。
相关问题