CocoaPods 安装挂起

CocoaPods install hangs

我遇到了 cocoapods 问题,其中 pod install 总是挂在 Analyzing dependencies 阶段。 运行 --verbose 标志显示挂断总是在 Inspecting targets to integrate 输出之后。我试过玩新项目以及我现有的由 liftoff 创建的工作区。我还想提一下,我过去没有使用过 CocoaPods,所以很可能我做错了什么。

这似乎与此处其他几个 cocoapods 线程中提到的挂断错误不同。 Cocoapods staying on "analyzing dependencies" 中提到的解决方案中的 None 有效。我正在使用 CocoaPods 版本 0.37.2。

这是我正在做的事情:

我使用 liftoff 使用 swift 模板创建了我的工作区(https://github.com/thoughtbot/liftoff), it auto-generated a Podfile in global space, putting its own boilerplate in there. I've modified it to add pod 'CocoaLumberjack' under the line that says 'Add application pods here', single workspace entry and xcodeproj entries for each of my projects similar to this podfile: https://github.com/dblock/ARASCIISwizzle/blob/master/Podfile(除了我还没有添加自己的目标)。我还在 XCode 在同一个工作空间下。项目编译和 运行 到目前为止都很好,他们还没有使用 podfiles。

我跟进了 运行ning pod setup,它成功完成了。之后,pod install总是挂起,我也检查了activity监视器,确保它不是在后台运行ning git-remote-http。我用冗长的方式重新运行它,但它仍然挂起,这是我所看到的:

▶ pod install --verbose
  Preparing

Analyzing dependencies

Updating spec repositories
Updating spec repo `master`
  $ /usr/bin/git pull --ff-only
  From https://github.com/CocoaPods/Specs
     03edf73..14f2ac3  master     -> origin/master
  Updating 03edf73..14f2ac3
  Fast-forward
   .../0.2.1/CNPPopupController.podspec.json          |  26 +++++
   Specs/CommonUtils/1.5.8/CommonUtils.podspec.json   |  67 ++++++++++++
   .../0.1.1/GBSimpleWebViewController.podspec.json   |  20 ++++
   Specs/Intercom/2.3.0/Intercom.podspec.json         |  40 +++++++
   .../3.0.4/Kite-Print-SDK.podspec.json              | 121 +++++++++++++++++++++
   .../MUKDataSource/2.0.3/MUKDataSource.podspec.json |  29 +++++
   .../MUKDataSource/2.0.4/MUKDataSource.podspec.json |  29 +++++
   Specs/PNChart/0.8.5/PNChart.podspec.json           |  39 +++++++
   .../StoryboardKit/0.1.0/StoryboardKit.podspec.json |  27 +++++
   9 files changed, 398 insertions(+)
   create mode 100644 Specs/CNPPopupController/0.2.1/CNPPopupController.podspec.json
   create mode 100644 Specs/CommonUtils/1.5.8/CommonUtils.podspec.json
   create mode 100644 Specs/GBSimpleWebViewController/0.1.1/GBSimpleWebViewController.podspec.json
   create mode 100644 Specs/Intercom/2.3.0/Intercom.podspec.json
   create mode 100644 Specs/Kite-Print-SDK/3.0.4/Kite-Print-SDK.podspec.json
   create mode 100644 Specs/MUKDataSource/2.0.3/MUKDataSource.podspec.json
   create mode 100644 Specs/MUKDataSource/2.0.4/MUKDataSource.podspec.json
   create mode 100644 Specs/PNChart/0.8.5/PNChart.podspec.json
   create mode 100644 Specs/StoryboardKit/0.1.0/StoryboardKit.podspec.json

Inspecting targets to integrate

此时,CocoaPods 会无限期地停留在最后一行。我让它坐在那里过夜,没有任何进展。我试过在另一个测试项目中重复这个,通过 XCode 和我 运行ning pod setup 手动创建,并自己创建一个包含以下内容的 Podfile:

platform :ios, "6.0"
pod "CocoaLumberjack"

当我 运行 pod install --verbose.

时,cocoapods 再次挂在同一个步骤上

更新: 又用这个把我的头撞到墙上后,我让一个 Mac 的朋友尝试这些说明,没有问题在他的笔记本电脑上。我试着查看我的其他应用程序和 shell 配置,看看是否有任何东西可能与 cocoapods 有不利的互动,但没有运气。然后我创建了另一个用户帐户,chowned 项目目录到新用户,sued 到这个用户并从新用户重复 pod initpod install,两者都像魅力。我现在怀疑这是我的 .bashrc 或个人资料中的内容,但尚未弄清楚是什么。

您需要通过删除旧设置重新连接到 pod。

  $ pod repo remove master
  $ pod setup
  $ pod install

试试这个,它会解决你的问题。

刚才解决了这个问题,但忘了回来 post 在这里更新。

这个问题最终变得非常古怪,也许对我来说是独一无二的(或者那些对他们的终端进行了大量修补的人 shell)。我的 .bashrc 中有一个名为 _(下划线)的函数,bash 本身没有问题(或者至少在 pod 之前看起来是这样),zsh(shell 我用)确实有问题,破坏了 sudo 命令,但其他一切似乎都工作正常。 pod 显然也受此影响。

因此,对于那些也遇到此问题的人(以及修改过他们的 .profile、.bashrc、.zshrc 的人),我建议检查 .bashrc 中的奇怪函数名称或注释掉部分内容以查看问题出在哪里。