本文不会讨论CocoaPods的各类使用技巧以及各类原理,只是简单记录一下在升级过程当中遇到的问题,若是使用中有各类问题来欢迎交流。git
Podfile.loc 文件变化github
前几天一个小伙更新了CocoaPods,其中podfile.lock文件随之也发生了变化,其中一个第三方库MBProgressHUD找不到了:微信
- MBProgressHUD: c47f2c166c126cf2ce36498d80f33e754d4e93adless
+ MBProgressHUD: 1569cf7ace17a8bac47aabfbb8580a49690386d1google
这是其中的变化,因而我就去pod update,可是提示我pod版本太旧,因而我执行了命令:spa
google以后在Stackoverflow上找到了这个一些方法:it
在终端中输入:io
sudo nvram boot-args="rootless=0"; sudo rebootast
然而我重启电脑以后仍是没有解决问题,上述问题依然存在,猜测应该系统应该是作了一些别的限制吧。探寻以后认为比较靠谱的方法是:原理
sudo gem install -n /usr/local/bin cocoapods --pre
这个方法是将CocoaPods 安装在/usr/local/bin 这个目录上。
pod --version 系统显示
显示cocoaPod安装成功,跟新Repos
执行命令:
pod update --verbose --no-repo-update
提示我 source repos可能过期,我就去执行:
pod repo update
可是国内跟新个人速度又太慢,我又不能忍,
研究了一下用户目录下.cocoapods的结构,大胆猜想,pod setup, pod update命令是克隆一个cocoapod 的Spec库,而后想执行pod setup命令终端以后能不能取巧,说作就作
git clone https://github.com/CocoaPods/Specs.git
克隆了一份库到本地,将Specs重命名master以后能够工做,由此猜测pod setup应该执行的是FTP协议
请看结果:
pod update 了一下,第三方库更新成功,折腾了半天终于解决了问题
总结及提问
1. OS X(已经改名为Mac OS)进一步提升了/usr/bin的权限
2. pod setup 底层使用了什么协议?为何那么慢?
将来CTO
微信:wlaicto
关注我CTO之路今后开始