美文网首页iOS进阶iOS开发历程
2016最新cocoapods安装遇到的问题及解决方法

2016最新cocoapods安装遇到的问题及解决方法

作者: 五蕴盛 | 来源:发表于2016-07-28 14:10 被阅读2060次

    现在的cocoapods与之前比较,有很多不一样的地方。

    因为现在cocoapods需要ruby>=2.2,所以:

    1.首先查看ruby是否是最新版的。

    #查看当前ruby版本ruby是通过rvm安装的所以需要先安装rvm后查看ruby是否是最新的(通过查看ruby版本列表来判断),然后在终端需要中输入以下命令:

    $ ruby -v

    ruby 2.0.0

    (1)安装RVM.RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)

    curl -L get.rvm.io | bash -s stable

    安装rvm

    等待一段时间后就可以成功安装好 RVM

    source ~/.bashrc

    source ~/.bash_profile

    测试是否安装正常

    rvm -v

    rvm安装完成

    (2)用RVM升级Ruby

    #查看当前ruby版本ruby是通过rvm安装的所以需要先安装rvm后查看ruby是否是最新的(通过查看ruby版本列表来判断),然后在终端需要中输入以下命令:

    $ ruby -v

    ruby 2.0.0

    #列出已知的ruby版本 --找到最新的版本安装

    $ rvm list known

    #安装ruby 2.3.0  这个你随意只要大于2.2就行

    $ rvm install 2.3.0

    注意:有时会出现错误 提示

    Requirements installation failed with status: 1.

    原因:因Mac未安装Homebrew造成的

    解决方法:在命令行输入以下指令安装Homebrew或者进入官网找到最新的下载链接

    Homebrew官网:http://brew.sh/index_zh-cn.html  或者

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    注意2 有时WARNING: You have '~/.profile' file, you might want to load it,错误,可尝试命令行输入

     echo"source ~/.profile">> ~/.bash_profile

    2.更换Ruby镜像--淘宝的那个镜像(https://ruby.taobao.org/ )已经不可用了。官方的需要FQ。所以我们现在用最新支持的ruby镜像(https://gems.ruby-china.org/) ---->我用的是这个

    注:有的可以使用淘宝的源,也不报错,具体原因未知,如无报错可继续使用淘宝镜像。

    需要的命令行:

    gem sources --remove https://rubygems.org/

    gem sources -a https://gems.ruby-china.org/

    gem sources -l  (用来检查使用替换镜像位置成功)

    出现

    替换镜像成功

    则说明成功了。

    3.下载安装CocoaPods

    PS: 遇到这个错误:

    RROR:  While executing gem ... (Errno::EPERM)

    Operation not permitted - /usr/bin/pod

    Yosemite用这句:

    在命令行中输入:

    $sudo gem install cocoapods

    苹果系统升级到 OS X EL Capitan用下面这句:

    $sudo gem install -n /usr/local/bin cocoapods

    更新一下


    估计都会出错

    更新:sudo gem update cocoapods

    安装完成cocoapods

    安装

    在这里会很快就好了。。。网上教程说这样就已经完成安装了。。但我试了一下,直接搜索一下。在终端中输入:pod search  AFNetworking。会出现“Setting up CocoaPods master repo“提示,而且很久一直不动,网上说因为没FQ的原因。但是我们已经将bury镜像已经改了,为什么还会这样呢?。还有一个原因是因为在后台下载,还没下载完成,所以会这样。

    在这里我等了好久。通过新开一个终端窗口,输入"cd ~/.cocoapods/"命令行跳到cocoapods文件夹内,执行"du -sh *"查看文件夹的大小。发现一直是0。快崩溃了。

         重头再来。首先将ruby更新到最新(上边方法)、将gem更新到最新、将cocoapods更新到最新。在将cocoapods更新到最新时,查到需要执行"pod setup",但是执行这个时会出现一直是“Setting up CocoaPods master repo“,但是查看大小还是0。此外还会出现下面这个新的错误(这个发现让我欣喜若狂,起码不是那么单调了,或许会成为突破口):

    [!] An error occurred while performing `git pull` on repo `master`.

    [!] /usr/bin/git pull --ff-only

    这个错误应该是说这个节点有问题。就又找资料,然后试试把cocoapods的节点删除,重新添加一个节点,或许就行,说干就干:

    原因: Cocoapods的分支不支持当前最新的Xcode版本

    解决办法: 删除master分支 重新建立新的分支

    sudo rm -fr ~/.cocoapods/repos/master

    然后再: pod setup

    注意 :按我的经验 此时有两种选择 


    第一种  亲测推荐

    按照CocoaPods安装、超详细

    里面的做法,去百度网盘360网盘访问密码 1ee5下载这个master文件在网盘上。

    下载之后,直接拖到repos 文件夹里就可以了。简单粗暴


    第二种:老老实实等他下载完成

    在pod setup的过程中又是这个提示"Setting up CocoaPods master repo",当时的感觉就快要砸电脑了,最后不死心去查看了一下cocoapods文件夹的大小。结果:

    。。没错,没有看错,大小居然一直在增加。心怀激动的慢慢等待。

    大概是这么大

    最终大小

    过了大概十几二十分钟左右,pod setup这个操作成功了。


    这样,整个cocoapods安装应该成功了吧。我迫不及待的 想要试试。输入"pod search AFNetworking" 居然有内容出来。

    pod search AFNetworking

    然后按照之前的教程在终端中,cd到项目总目录,先创建一个Project,然后创建一个single View Application到桌面,终端中输入cd+空格,把刚刚创建到桌面的文件夹拖到终端中,回车

    建立Podfile(配置文件)

    接着上一步,终端输入   vim Podfile

    键盘输入 i,进入编辑模式,输入:

    然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq

    注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件

    podfile

    激动人心的时刻到了:确定终端cd到项目总目录,然后输入 pod install。。。然后你会发现。。。

    注意 : 如果你是这样写的,可能会

    platform :ios, '7.0'

    pod 'MBProgressHUD', '~> 0.8'

    提示这个错误:[!] The dependency `MBProgressHUD`isnot usedin any concrete target.

    原来新的cocoapods不能像之前那样安装第三方了。现在的格式是要加上项目的target。如下:

    platform :ios,'8.0'

    use_frameworks!

    target'MyApp'do

    pod 'AFNetworking','~> 3.0'

    pod'SDWebImage','~>3.7.6'

    end

    里面的MyApp记得替换为自己工程里面的target。这样就基本OK了,执行pod install / pod update 就都可以了。

    在使用 pod install 安装第三方库的时候可能会卡在 Updating local specs repositories

    //解决办法把podinstall换成 podinstall--verbose --no-repo-update

    成功

    end:终于结束了。总结:安装过程出错,则删除并重新(更新)所有的需要的环境:(ruby、gem、cocoapods、其中包括cocoapods的节点),替换新的ruby镜像即可。

    // 9.27 更新 读者给的建议 大家可以参考

    下载最新的master(https://github.com/CocoaPods/Specs,最好用360下载有断点续传功能)然后按照上面步骤放进repos中,这时可以pod reaserch AFN了,但是却不能用pod install 。解决办法就是把上述网盘中的master 中的 .git文件夹整个复制到,~/.cocoapods/新的master/文件夹下 。

    cocoapods,参考的安装流程:

    http://www.cnblogs.com/guanshenbao/p/5534578.html#undefined__君少

    CocoaPods安装、超详细

    相关文章

      网友评论

      • 龙瑞麟:遇到这个错误:
        RROR: While executing gem ... (Errno::EPERM)
        Operation not permitted - /usr/bin/pod
        Yosemite用这句:
        $sudo gem install cocoapods

        苹果系统升级到 OS X EL Capitan用下面这句:
        $sudo gem install -n /usr/local/bin cocoapods

        请楼主更新一下
        五蕴盛:好的 ,谢谢支持 ,老铁!
      • Eddiegooo:我想问下,在Podfile文件里必须也要加上 use_frameworks! 这句吗??
        Eddiegooo:@五蕴盛 刚刚测试了,现在不加不行了,会报错的。。必须要加了
        五蕴盛:不过不加也没事。
        五蕴盛:是滴是滴 好像是固定格式。
      • 会跳舞的狮子:搞不定啊... 是我的问题吗
        会跳舞的狮子:@五蕴盛 应该搞定了,不过我看的别人的简书, 搞了一晚上 明天还要上班 先睡觉了 明天来聊
        五蕴盛: @会跳舞的狮子 明天上班给我说一声
      • 西门欥雪:我的直接从云盘下载的 ,然后放在repos里面,可是在pod search baidumap时,最新版本比我同事电脑显示的百度地图版本低,不知道为什么。
        五蕴盛:@躁动的青春 -> BaiduMap-iOS-SDK (3.0) -> baiduMap (2.8.1) 你是这个吗
        西门欥雪:@躁动的青春 http://yongyao.li/blog/article/repair-broken-cocoapods-specs-repository,要解决这个问题还是要重新pod setup.
        五蕴盛: @躁动的青春 可能是没有更新,版本低很多吗
      • Double丶K:看见了你的文章我看到了希望的曙光
        五蕴盛:@KK先森 哈哈 过奖,共勉。
      • Julija:Mark
      • c274e49ed3ac:楼主的文章一下子就把我带进了新世界,感谢楼主带我走进anride的开发。我会在几年之后站在颁奖典礼上告诉大家、我的老师是楼主!
      • 8b1f4360ac05:楼上+1

      本文标题:2016最新cocoapods安装遇到的问题及解决方法

      本文链接:https://www.haomeiwen.com/subject/norclttx.html