使用RubyMotion需要'motion-cocoapods'时出错

时间:2013-01-19 19:32:11

标签: ruby rubymotion cocoapods

我刚拿到Ruby动作,我想试试Cocoapods。我按照网站上的要求安装了它:

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

我添加

要求'motion-cocoapods'到我简单的'Hello'项目。我试图耙它时遇到这个错误:

耙子流产了! 无法激活cocoapods-0.16.1,因为rake-10.0.3与rake冲突(〜> 0.9.4)

我想这与我的rake版本有关,但我不知道我需要做些什么才能解决这个问题。请帮忙!

2 个答案:

答案 0 :(得分:3)

这是因为安装了比0.9.x更新的rake版本。当您运行rake时,它会加载最新版本(在您的情况下为10.0.3)。然后,当cocoapod gem尝试加载时,它会尝试激活rake 0.9.x并失败(~> 0.9.4表示它将接受以0.9.开头的任何版本。)

一种解决方案是完全删除rake gem并明确安装0.9.4版本:

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

但是,如果您有任何其他项目需要更新版本的rake,这可能会成为一个问题。更好的解决方案是使用Bundler:

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之前为所有rake命令添加前缀。

答案 1 :(得分:0)

我可以按照日本博客上的步骤解决这个问题:

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

首先卸载:

gem uninstall motion-cocoapods 宝石卸载cocoapods

下载cocoapods:

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

找到gemspec文件

并改变这一点:

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

到此:

s.add_runtime_dependency'rake','> 0.9.4'

然后将其安装为gem

rake gem:install

然后重新安装motion-cocoapods:

gem install motion-cocoapods

我的感觉是这是一个黑客,我担心它可能会导致其他问题。如果有人有更好的答案,请发布。