当我尝试使用 CocoaPods 导入 Realm 时,如下所示:
pod install --verbose --no-repo-update
然后发生错误:
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
fatal: clone of 'https://github.com/ColinH/PEGTL' into submodule path '/private/var/folders/51/tzbm7yqs3bsck5vxz3xj5pkc0000gn/T/d20160925-2957-1pu1dou/Realm/ObjectStore/external/pegtl' failed
为什么?
上述错误主要是os10.11+和cocoapods1.0+版本升级的安全机制发生变化引起的。主要是在pod的设置过程中。而且这个过程的等待时间非常长
git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master
与pod设置效果相同
Mac OS 10.11,一些 cocoapods 命令发生变化。如果你有 pod 设置或 pod 更新问题,并且很难解决,我建议 10.11。安装cocoapods后卸载重装有一些不同的命令,总结如下:
1 检查ruby环境,如有需要请更新如下
$ sudo gem update --system
2 卸载cocoapods
$ sudo gem uninstall cocoapods
3 重新安装cocoapods(安装命令已更改)
10.11之前
$ sudo gem install cocoapods
10.11后
$ sudo gem install -n /usr/local/bin cocoa pods
4
$ sudo chmod +rx /usr/local/bin
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
//将 CocoaPods Specs 存储库复制到您的计算机目录 ~/.cocoapods 下
pod setup
我在安装 pod 时遇到了类似的错误,但我跟踪了一些资源和有用的链接,这清楚地表明您应该足够快来下载和安装 pod。因此,为此,我刚刚创建了 shell 脚本,它总是重复相同的命令
像
pod update
如果失败,重复该命令,否则命令成功运行。
这是shell脚本代码:
#!/bin/bash
command_to_run=“pod 更新”
虽然是真的;做 # 执行命令 $command_to_run
# Check the exit status of the command
if [ $? -eq 0 ]; then
echo "Command executed successfully."
break
else
echo "Command failed. Retrying..."
fi
完成
此代码片段用于所有失败时需要重复的 shell 命令。
谢谢你。