这是由于安装了比 0.9.x 更新的 rake 版本。当您运行时rake,它会加载最新版本(在您的情况下为 10.0.3)。然后,当 cocoapod gem 尝试加载时,它会尝试激活 rake 0.9.x 并失败(这~> 0.9.4意味着它将接受任何以 开头的版本0.9.)。
一种解决方案是完全删除rakegem 并显式安装 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.