zoukankan      html  css  js  c++  java
  • OSX10.11 CocoaPods 升级总结



    本文不会讨论CocoaPods的各种使用技巧以及各种原理,只是简单记录一下在升级过程中遇到的问题,如果使用中有各种问题来欢迎交流。

    Podfile.loc 文件变化

    前几天一个小伙更新了CocoaPods,其中podfile.lock文件随之也发生了变化,其中一个第三方库MBProgressHUD找不到了:

    -  MBProgressHUD: c47f2c166c126cf2ce36498d80f33e754d4e93ad

    +  MBProgressHUD: 1569cf7ace17a8bac47aabfbb8580a49690386d1

    这是其中的变化,于是我就去pod update,但是提示我pod版本太旧,于是我执行了命令:

    sudo gem update cocoapods -V


     

    ​google之后在Stackoverflow上找到了这个一些方法:

    在终端中输入:

    sudo nvram boot-args="rootless=0"; sudo reboot

    然而我重启电脑之后还是没有解决问题,上述问题依然存在,猜想应该系统应该是做了一些别的限制吧。探寻之后认为比较靠谱的方法是:

    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之路从此开始

  • 相关阅读:
    android动态主题切换(RRO 技术)
    Android设计模式-单例模式
    Android 设计模式
    简单理解Binder机制的原理
    Android的Activity启动流程分析
    android 多线程实现方式、并发与同步学习总结
    RecyclerView 缓存机制 | 如何复用表项?
    recyclerview 缓存讲解
    csharp中实现图片拖拽
    特征提取的综合实验(多种角度比较SIFT、SURF、BRISK、ORB、FREAK等局部特诊点检测和描述算法)(2021版)
  • 原文地址:https://www.cnblogs.com/JiesonWu/p/5589581.html
Copyright © 2011-2022 走看看