2013-01-19 39 views
1

我剛剛收到Ruby動作,想試試Cocoapods。我安裝了它只是因爲它要求在網站上:使用RubyMotion要求'motion-cocoapods'時出錯

http://www.rubymotion.com/developer-center/articles/cocoapods/

我添加

需要「運動的CocoaPods」我簡單的「你好」項目。當我嘗試耙動它時出現此錯誤:

rake中止! 無法激活cocoapods-0.16.1,因爲rake-10.0.3與rake衝突(〜> 0.9.4)

我想這與我的耙子版本有關,但我不知道我是什麼需要解決這個問題。請幫忙!

+0

也許'gem update rake'? – nemesv

+0

我希望它是那麼簡單,但不是!當我做一個寶石列表時,沒有什麼可以更新 – AwDogsGo2Heaven

+0

,它確實出現我現在有兩個版本的rake出於某種原因 - > rake(10.0.3,0.9.6) – AwDogsGo2Heaven

回答

3

這是由於安裝了比0.9.x更新版本的rake引起的。當你運行rake時,它加載最新版本(在你的情況下爲10.0.3)。然後,當cocoapod gem嘗試加載時,它會嘗試激活rake 0.9.x並失敗(~> 0.9.4意味着它將接受以0.9.開頭的任何版本)。

一個解決辦法是明確地完全去除rake寶石和安裝0.9.4版本:

gem uninstall rake 
gem install rake --version '0.9.6' 

但是,如果您有需要耙較新版本的任何其他項目,這可能成爲一個問題。一個更好的解決辦法是使用捆紮機:

gem install bundler 

在項目中創建文件夾Gemfile包含:

source :rubygems 
gem 'rake' 
gem 'motion-cocoapods' 

添加以下Rakefile,立即下require 'motion/project'行:

require 'bundler' 
Bundler.require 

然後從控制檯運行bundle install。這將在rake 0.9.6上鎖定這個特定的項目。唯一的問題是您可能需要在bundle exec前加上所有的耙子命令。

0

我能夠按照這個日本博客的措施來解決這個問題:

http://blog.amacou.net/post/37702092871/rubymotion-cocoapods-rake

先卸載:

寶石卸載運動的CocoaPods 寶石卸載的CocoaPods

下載cocoapods:

git clone git://github.com/CocoaPods/CocoaP ods.git

找到gemspec文件

並改變這一點:

s.add_runtime_dependency '耙', '〜> 0.9.4'

這樣:

秒。 add_runtime_dependency'rake','> 0.9.4'

然後將其安裝爲寶石

耙寶石:安裝

然後重新安裝運動的CocoaPods:

創業板安裝運動的CocoaPods

我的感覺是,這是一個黑客雖然,我擔心它可能會導致問題的其他地方。如果有人有更好的答案,請發佈。