CocoaPods那些错

作者: chernyog | 来源:发表于2016-04-13 15:04 被阅读528次

    CocoaPods错误集锦

    直奔主题,列举出平时使用CocoaPods遇到的一些问题。

    问题一:更新gem报错(sudo gem update --system)

    • 错误一:
      * 错误信息:
      * <font color='red'>ERROR: While executing gem ... (Errno::EPERM)
      Operation not permitted - /usr/bin/xcodeproj</font>
      * 解决办法:
      * 执行sudo gem install -n /usr/local/bin cocoapods命令
      • 错误二:
        • 错误信息:
          • <font color='red'>ERROR: While executing gem ... (Errno::EPERM)
            Operation not permitted - /usr/bin/update_rubygems</font>
        • 解决办法:
          • 安装Homebrew(Homebrew installs the stuff you need that Apple didn’t.
          /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
          
          • 安装roby
          brew install ruby
          
          • 此时正常的话,会提示:RubyGems system software updated,恭喜你,gem更新成功了!

    问题二:pod install报错

    错误信息如下:

    ―――MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
    ### Command
    
    /usr/local/bin/pod install
    
    ### Report
    * What did you do?
    * What did you expect to happen?
    * What happened instead?
    ### Stack
    
       CocoaPods : 0.39.0
            Ruby : ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
        RubyGems : 2.5.1
            Host : Mac OS X 10.11.4 (15E65)
           Xcode : 7.2 (7C68)
             Git : git version 2.5.4 (Apple Git-61)
    Ruby lib dir : /usr/local/Cellar/ruby/2.3.0/lib
    Repositories : artsy - https://github.com/Artsy/Specs.git @ f2334365b5b1a080efa4ded6425001010e5795dd
                   master - https://github.com/CocoaPods/Specs.git @ 307eeb6b27f6edde769b6766a886df90db0e208f
    ### Plugins
    
    cocoapods-plugins : 0.4.2
    cocoapods-search  : 0.1.0
    cocoapods-stats   : 0.6.2
    cocoapods-trunk   : 0.6.4
    cocoapods-try     : 0.5.1
    ### Error
    NoMethodError - undefined method `to_ary' for #<Pod::Specification name="Alamofire">
    Did you mean?  to_query
    ……
    
    ――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
    [!] Oh no, an error occurred.
    ……
    Don't forget to anonymize any private data!
    

    分析

    • CocoaPods与ruby版本
    CocoaPods : 0.39.0
         Ruby : ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
    
    • 那么问题来了,** This is a bug with 0.39 and ruby 2.3.0 - <a href='https://github.com/CocoaPods/CocoaPods/issues/4689'>#4689</a> **

    解决办法

    如果不是0.39.0 VS 2.3.0

    • 在终端中依次执行以下命令即可
    cd ~/.cocoapods/repos
    rm -rf master
    pod setup
    

    如果是0.39.0 VS 2.3.0

    方法一:改变CocoaPods版本
    • 卸载当前版本

      sudo gem uninstall cocoapods

    • 下载指定版本(如:0.39.0)

      sudo gem install cocoapods -v 0.39.0

    方法二:改变ruby版本
    • 如何改变ruby版本呢?答案是安装ruby管理器RVM
    安装RVM
    • 什么是RVM?

      • RVM:Ruby Version Manager 也就是ruby版本管理工具
    • 安装RVM

      • 在终端中执行命令:

      curl -L https://get.rvm.io | bash -s stable

      • 安装完成之后,载入RVM环境

      source ~/.rvm/scripts/rvm

      • 测试是否安装正确


        查看ruby版本.png
    • 查询ruby信息

      • 查询已知的ruby版本

      rvm list known

      • 查询已经安装的ruby

      rvm list

    • 安装某版本的ruby

      rvm install 2.0.0

    • 卸载某版本的ruby

      rvm remove 2.3.0

    • 设置ruby版本

      rvm 2.0.0 --default

    只要不是0.39.0 VS 2.3.0,应该都可以安装成功的!

    问题三:更改ruby版本之后,pod install还是报错!

    错误信息如下:

    • 截图


      pod_install_ruby报错.png
    • 文字描述
    # 在终端中执行命令:
    pod install
    # 错误信息(ruby版本 我刚从2.3.0降到2.0.0):
    /usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/rubygems/dependency.rb:319:in `to_specs': Could not find 'cocoapods' (>= 0.a) among 6 total gem(s) (Gem::LoadError)
    Checked in 'GEM_PATH=/Users/apple/.rvm/gems/ruby-2.0.0-p648:/Users/apple/.rvm/gems/ruby-2.0.0-p648@global', execute `gem env` for more information
        from /usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/rubygems/dependency.rb:328:in `to_spec'
        from /usr/local/Cellar/ruby/2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
        from /usr/local/bin/pod:22:in `<main>'
    

    解决办法

    • 删除cocoapods gem uninstall cocoapods
    • 安装 rvm
    • 重新安装cocoapods gem install cocoapods
    • 执行 pod setup命令

    错误四:Podfile文件格式问题

    如果你把CocoaPods版本升级到CocoaPods 1.0.0.beta.6,那么之前的Podfile格式就会有问题

    • CocoaPods 1.0.0之前的版本,你的Podfile可能是这样的:
    source 'https://github.com/CocoaPods/Specs.git'
    
    link_with 'SwiftMKitDemoTests', 'SwiftMKitDemoUITests'
    
    platform :ios, '8.0'
    
    use_frameworks!
    
    pod 'MJRefresh'
    
    • CocoaPods 1.0.0之后的版本,你的Podfile可能是这样的:
    source 'https://github.com/CocoaPods/Specs.git'
    use_frameworks!
    platform :ios, '8.0'
    
    target 'SwiftMKitDemo' do
      pod 'MJRefresh'
    
      target 'SwiftMKitDemoTests' do
        inherit! :search_paths
      end
      target 'SwiftMKitDemoUITests' do
        inherit! :search_paths
      end
    end'
    

    相关文章

      网友评论

        本文标题:CocoaPods那些错

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