Cocoapods用户安装:无法运行pod命令

时间:2014-01-23 00:36:36

标签: cocoapods

我已按照http://guides.cocoapods.org/using/getting-started.html#getting-started上的说明使用--user-install选项在OS X Mavericks上安装了Cocoapods(以避免使用sudo进行安装)。我还在我的主目录中创建了一个.profile文件,其中包含以下内容:

export GEM_HOME=$HOME/gems
export PATH=$GEM_HOME/bin:$PATH

Cocoapods已成功安装,但我无法运行pod命令。

从命令行运行时,它显示No such file or directory。据我所知,它应该安装在/Users/me/gems/bin文件夹中。但是,此文件夹根本不存在 - 我的主目录中唯一与Ruby相关的文件夹是/Users/me/.gem

我已尝试运行/Users/me/.gem/ruby/2.0.0/gems/cocoapods-0.29.0/bin/pod,但会导致以下错误:

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- bundler/setup (LoadError)
    from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
    from .gem/ruby/2.0.0/gems/cocoapods-0.29.0/bin/pod:14:in `<main>'

...但根据我的理解,我不应该直接从该位置运行它。

对Cocoapods新手的任何帮助表示赞赏!

6 个答案:

答案 0 :(得分:3)

经过大量的研究和尝试不同的事情后,我设法让这个工作。我不太确定最终解决了什么问题,或者它是否是一个组合的东西,但对于遇到同样问题的其他人来说,这就是我所做的:

  1. 为Mavericks安装了Xcode命令行工具。 Xcode 5中不再提供安装此选项的选项,因此您需要从https://developer.apple.com/downloads下载它们。有些人似乎说他们已经从Mac App Store安装为Xcode 5的一部分,而其他人则表示你需要手动安装它们。无论哪种方式,我认为再次安装它们不会受到伤害。

  2. 上面的错误消息谈到无法加载bundler/setup。所以,我(重新?)安装了捆绑器ruby gem gem install bundler --user-install。有趣的是,当我再次尝试运行/Users/me/.gem/ruby/2.0.0/gems/cocoapods-0.29.0/bin/pod命令时,我得到了一个不同的错误:/Users/me/.gem/ruby/2.0.0/gems/cocoapods-0.29.0/Gemfile not found

  3. 真正方便的是,在bundler安装后,出现了一条消息/Users/me/.gem/ruby/2.0.0/bin in your PATH, gem executables will not run。所以,我检查了该文件夹的内容,它包含pod可执行文件!将其添加到PATH肯定会很方便,但我只是直接用完整路径运行它(在更改为包含Podfile的Xcode项目文件夹后):/Users/me/.gem/ruby/2.0.0/bin/pod install并且一切正常!

  4. 当我第一次跑pod install时,它显示了一条消息Setting up CocoaPods master repo并在那里待了很长时间 - 我以为它实际上已经挂了。但是,它最终完成了。如果您不确定它是否正在执行任何操作或已挂起,请执行ls -la ~/.cocoapods/repos/master/.git/objects/pack/并查看正在下载的文件的修改时间/大小(感谢this comment提示)。

    新玩家的另一个提示 - 当我尝试安装一个pod(在我的情况下,BlocksKit)时,我收到一条消息说[!] The platform of the target Pods (iOS 4.3) is not compatible with BlocksKit (2.1.0) which has a minimum requirement of OS X 10.7 - iOS 5.0.这是一个令人惊讶的消息,因为我的项目针对的是iOS 7.0。显然你已经don't need to specify the platform了,所以我完全删除了Podfile的平台线,这一切都有效。

    希望这有助于其他人开始使用CocoaPods!

答案 1 :(得分:1)

安装Mavericks后,我已经安装了cocoapods时出错。所以我运行此命令来安装新更新的cocoapods版本,现在可以正常工作。

sudo gem install cocoapods

答案 2 :(得分:1)

感谢这些答案中的指针,我发现CocoaPods网站上提供的instructions for installing CocoaPods不正确,关于.profile文件的内容,特别是路径。

正如Skoota在问题中所指出的,路径$GEM_HOME/bin不存在。 Videre的评论给出了重要的线索:正确的路径是$GEM_HOME/ruby/2.0.0/bin

至少对我有用的正确.profile内容是:

export GEM_HOME=$HOME/.gem
export PATH=$GEM_HOME/ruby/2.0.0/bin:$PATH

还值得注意的是,您必须退出并重新启动终端应用程序才能使.profile文件的更改生效。

答案 3 :(得分:1)

添加:

导出COCOAPODS_NO_BUNDLER = 1

到您的.zprofile或.bash_profile

答案 4 :(得分:0)

FWIW - 我遇到了非常类似的问题。以上都没有帮助我,也许其他人可以从我的过程中受益。

  1. 最终只是跑了sudo gem uninstall cocoapods,删除了之前我做过的所有事情。
  2. 按照创建.profile文件
  3. 的步骤进行操作
  4. 为了更好的衡量,关闭终端并重新启动一切。
  5. 这次以某种方式没有遇到错误的gem install cocoapods
  6. 运行gem which cocoapods检查安装,幸运的是返回了正确的路径
  7. 运行pod setup,但没有再次提出任何错误。
  8. 不完全确定实际上有什么用处,但是没有什么可能会有人发现它有用。

答案 5 :(得分:0)

我使用 homebrew 安装 cocapods

首先安装自制软件(将此代码粘贴到终端并按回车键)

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

第二次输入这个

$ brew install cocoapods