ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

检查pod版本及更新pod

2020-09-20 03:00:52  阅读:346  来源: 互联网

标签:git https ruby 更新 版本 pod CocoaPods gem


检查pod版本及更新pod

检查pod版本

pod --version

更新pod

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

如果还是出现框架版本不是最新版本,更新Pod缓存重新初始化

rm -fr ~/.cocoapods/repos/master
pod setup





*CocoaPods安装

1. 替换ruby源

1.1 CocoaPods是基于ruby ecosystem的,需要ruby环境,使用ruby的gem命令。所以我们的系统要有ruby环境。然而Mac系统默认会安装好ruby环境。可在终端 ruby -v 查看ruby版本:输出如下图

 

  ruby版本
1.2 查看ruby源, 终端输入 gem sources -l,显示如下:(现在镜像使用了https了,截图有点老,下面有改正)

 

  ruby源

如果你执行后,输出为:

*** CURRENT SOURCES ***

https://gems.ruby-china.org/

那么你需要更换到ruby-china的镜像,因为https://gems.ruby-china.org/这个源在墙内是访问不到的。所以你需要先移除这个镜像,然后添加 ruby-china的镜像,(我这里显示的是源为https://gems.ruby-china.org/,所以下面就以这个源为例,删除和添加新的源。如果你的源已经是https://gems.ruby-china.com,就不需要换了。如果不是请安下面的步骤删除和添加新源)步骤如下。

1>.移除掉原有的源

 

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

2>.淘宝的源已经不更新维护了,现在使用ruby-china的源哦

 gem source -a https://gems.ruby-china.com

3>.验证是否替换成功,如果显示上面截图的输出就说明正确:

 

gem sources -l

注意:如果gem sources -l 后有多个源,只使用ruby-china这一个源就行了,其他的删掉

2. 更新升级 Gem 版本

 

  1. 更新升级gem,gem不更新可能导致安装pod失败

 

 

sudo gem update --system

 

 

  1. 查看gem版本

    gem -v
    

输出如下:


  gem版本

3. 安装CocoaPods

  1. 如果mac系统为OS X 10.11 以前安装命令为:

 

 

     sudo gem install cocoapods // 安装cocoapods

  Mac系统为OS X EL Capitan安装命令为:

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

 

  1. 等待其安装成功,用命令pod --version查看是否安装成功,如果成功会显示pod的版本。



    pod版本

如果你本地有多个xcode版本,安装时需要你指定下安装路径,不然会报错。报错信息如下:

 

 [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master

Cloning into 'master'...
error: RPC failed; curl 56 SSLRead() return error -36
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

解决方法: 安装cocoapods 时使用 sudo xcode-select -switch 路径。比如:

  1. 打印当前xcode的路径

    xcode-select --print-path

输出:

  /Applications/Xcode.app/Contents/Developer

  1. 然后在执行下面的安装命令:

  sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

如果你xcode的名称改了例如:这时你要这样找到xcode的路径

 
xcode应用名称

先在终端输入”sudo xcode-select -switch “,然后,打开Xcode—>右键显示包内容,找到Developer文件夹拖到终端里面
这时安装命令行如下:

  sudo xcode-select -switch /Applications/Xcode 7.3.1.app/Contents/Developer

小知识:如果想安装指定版本,使用如下

  sudo gem install -n /usr/local/bin cocoapods -v 1.0.0

安装最新的release beta版本

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

如果你想卸载CocoaPods怎么办?看下面:(具体卸载流程,可以自己百度下,下面只供参考)

   //卸载CocoaPods

sudo gem uninstall cocoapods

4. 更新Podspec索引文件

安装成功后 执行pod setup:

  pod setup

pod setup作用

将所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目录下。所有的第三方开源库的Podspec文件都托管在https://github.com/CocoaPods/Specs,我们需要把这个Podspec文件保存到本地,这样才能让我们使用命令pod search 开源库搜索一个开源库,怎样才能把github上的Podspec文件保存本地呢?那就是 pod setup
执行pod setup时,CocoaPods 会将第三方的podspec索引文件更新到本地的~/.cocoapods/repos目录下。
但是第一次执行pod setup时,这个github的Podspec索引文件比较大,有 300M 左右(以后会越来越大的),所以第一次更新时非常慢.要耐心等待…..

最后当出现  Setup completed 表示setup完成。

如果遇到如下报错

[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress

Cloning into 'master'...
remote: Counting objects: 2016093, done.        
remote: Compressing objects: 100% (555/555), done.        
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

可能是Git的传输字节限制引起的,这时候使用 git config -l,查看Git配置,如下图,红色框是我配置的传输字节大小。

 

  字节限制
解决方法:修改 传输字节限制,使用以下方法。后面的限制数字,可以自己定大小(524288000,相当于500M)
git config --global http.postBuffer 1048576000
执行后在 git config -l,看看是否修改成功。

 

如果遇到如下报错

  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

解决方法:更换镜像下载地址

1.进入pod目录

  cd ~/.cocoapods/repos 

2.移除master

  pod repo remove master

3.添加清华镜像

  pod repo add master https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git

4.更新  

  pod repo update

如果第三步没有成功,(有的版本CocoaPods 不允许用pod repo add直接添加master库了)可以使用下面的方法

1.进入pod目录

  cd ~/.cocoapods/repos 

2.移除master

  pod repo remove master

3.添加清华镜像

  git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master

上述步骤成功后,需要进入自己的工程,在自己工程的podFile第一行加上:(这个代表你从哪里拉取Git代码)

source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'

*CocoaPods的使用方法

1、安装完以后,终端输入:

 pod search AFNetworking

成功后会,显示AFNetworking的相关信息 (注意:要在根目录下使用pod search,不要进入那个文件夹下使用。),如果你的pod 版本是1.8以上的时候,pod search 会出现以下错误 :[!] CDN: trunk Repo update failed (没有的请忽略),解决方法在下面的第三步,新建一个名为Podfile的文件里

   

2、进入项目目录 cd 文件路径

 
 

3、新建一个名为Podfile的文件

   touch Podfile
  在这里插入图片描述

touch Podfile是建一个空白的文件,文件名是Podfile
执行完后可以在项目文件夹下看到这个文件,如下:


 
 

4、 编辑 Podfile文件

编辑文件有2中方法,第一种:直接双击文件打开,输入以下内容,保存

platform :ios, '7.0'
target 'SwiftFirst' do
pod 'AFNetworking', '~> 3.1.0'
end

其中 target 'SwiftFirst’ do 中的SwiftFirst是你的项目名称,platform :ios, ‘7.0' 支持最低的ios平台,pod 'AFNetworking', '~> 3.1.0’ 安装AFNetworking 3.1.0 版本,安装那个版本需要先pod search 这个第三方库,如果搜索不到,安装会失败

第二种使用终端:(推荐使用)
还是在项目目录下,输入vim Podfile,然后 按键盘的“i”键 编辑,输入上面的文本内容:

  在这里插入图片描述

编辑完成后想要退出保存步骤:先按左上角的esc键,再按:键,再输入wq,点击回车,就保存并退出去了

 

注意:如果你pod版本再1.8 以上,pod search 出现以下错误 :[!] CDN: trunk Repo update failed (没有的请忽略)时。解决方法如下:

  1. podfile文件中指定source源为master,(写在第一行):
source 'https://github.com/CocoaPods/Specs.git'
  1. cd到项目目录下,执行pod repo remove trunk移除trunk源
pod repo remove trunk
  1. cd --到根目录下,在执行pod search AFNetworking,就能搜到AFNetworking。
 
 

参考链接:[!] CDN: trunk Repo update failed

5、 下载第三方库

注意安装的时候,最好把xcode先关掉,进入项目文件夹下,执行 pod install

pod install

当出现 Pod installation complete 的时候,说明成功了,这时候打开项目文件夹,发现多了几个文件,如下

 
 

这时候双击打开后缀名为.xcworkspace文件,就可以看到你引入的第三方库了

   

感谢以下作者的文章,如果有什么不足,欢迎下方指正。

参考链接:
安装CocoaPods报"RPC failed; curl 18 transfer closed with outstanding read data remaining".
Cocopods安装和使用教程.
安装CocoaPods步骤.



作者:GatesLand
链接:https://www.jianshu.com/p/c2f9491485ec
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

标签:git,https,ruby,更新,版本,pod,CocoaPods,gem
来源: https://www.cnblogs.com/sundaysme/p/13698463.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有