【问题标题】:Error on require 'motion-cocoapods' with RubyMotion使用 RubyMotion 要求“motion-cocoapods”时出错
【发布时间】:2013-01-19 19:32:11
【问题描述】:

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

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

我添加

在我的简单“Hello”项目中需要“motion-cocoapods”。我在尝试 rake 时收到此错误:

rake 中止! 无法激活 cocoapods-0.16.1,因为 rake-10.0.3 与 rake (~> 0.9.4) 冲突

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

【问题讨论】:

  • 可能是gem update rake?
  • 我希望它是那么简单,但不!没有说要更新
  • 当我做一个 gem 列表时,由于某种原因我现在确实有两个版本的 rake -> rake (10.0.3, 0.9.6)

标签: ruby rubymotion cocoapods


【解决方案1】:

这是由于安装了高于 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 上锁定此特定项目。唯一需要注意的是,您可能需要在所有 rake 命令前加上 bundle exec

【讨论】:

    【解决方案2】:

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

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

    第一次卸载:

    gem 卸载motion-cocoapods gem 卸载 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 安装

    耙宝石:安装

    然后重新安装motion-cocoapods:

    gem install motion-cocoapods

    我的感觉是,这是一个 hack,我担心它会在其他地方引起问题。如果有人有更好的答案,请发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      • 2013-11-13
      相关资源
      最近更新 更多