2013-10-17 18 views
1

我是個ruby/rails新手。無法獲取gemfile以允許更新包

這裏是我的Gemfile:

source 'https://rubygems.org' 
ruby '2.0.0' 
#ruby-gemset=railstutorial_rails_4_0 

gem 'rails', '4.0.0' 

group :development do 
    gem 'sqlite3', '1.3.8' 
    gem 'ruby-debug-ide' 
end 

gem 'sass-rails', '4.0.0' 
gem 'uglifier', '2.1.1' 
gem 'coffee-rails', '4.0.0' 
gem 'jquery-rails', '3.0.4' 
gem 'turbolinks', '1.1.1' 
gem 'jbuilder', '1.0.2' 
gem 'wash_out', :git => 'git://github.com/inossidabile/wash_out.git' 
gem 'haml' 
gem "railties", "~> 4.0.0" 

group :doc do 
    gem 'sdoc', '0.3.20', require: false 
end 

在捆綁更新,我得到這個:

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

    sass-rails (= 4.0.0) ruby depends on 
     railties (4.0.1.rc1) 

的青菜,導軌問題應該得到解決,因爲我使用的是〜>是否正確?我怎樣才能同時安裝導軌和sass-rails?

回答

7

如果你把sass-rails放在你的Gemfile中rails之前,它可以正確解析。

+0

確實如此,爲什麼如果我一次只能使用一個版本的寶石,按照下面的jibender的回答,這將起作用? –

+0

我不確定他的答案是什麼意思。你的Gemfile對我來說看起來不錯,我認爲這是Bundler的一個解決方案錯誤。 –

+0

他說的話對我來說很有意義。我只選擇了你的答案,因爲這是一個更簡單的解決方案(但我不明白它爲什麼起作用)。我只能使用一個版本的railties,對嗎?而sass-rails需要4.0.1或更高,而rails需要4.0.0。那麼爲什麼這個工作? –

3

你的問題是,你一次只能使用一個版本的寶石。 ~>將只允許在該寶石上進行版本更改。

您需要將您要求的版本sass-rails更改爲4.0.1

1

你應該在你的Gemfile更新以下行:

gem 'rails', '4.0.0' 

gem 'rails', '~> 4.0.0' 

,然後運行bundle update