美文网首页
2023安装CocoaPods

2023安装CocoaPods

作者: 雪影无痕 | 来源:发表于2024-03-15 10:30 被阅读0次

背景

新入职公司,分配一台全新MacBook pro,借此机会梳理一下cocoapods的完整安装流程。

cocoapods安装依赖关系

cocoapods安装需要ruby,更新ruby需要rvm,下载rvm需要gpg,下载gpg需要homebrew,所以安装顺序是homebrew->gpg->rvm->ruby-cocoapods,注意这是完整流程,如果只是更新做cocoapods更新操作即可,不需要从第一步开始。

先安装Homebrew

2020版mac 安装homebrew失败 极简解决方案

git config--global--addsafe.directory/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core

git config--global--addsafe.directory/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask

检测Homebrew是否安装成功

输入

brew --version

返回

Homebrew 4.0.1-24-ge358035-dirtyHomebrew/homebrew-core (git revision 5c8a7bb5c3a; last commit 2023-02-17)Homebrew/homebrew-cask (git revision 90f1b9d0c9; last commit 2023-02-17)

更换源,把Ruby官方镜像改为国内镜像

2.1 检查更新ruby环境,更新gem版本

sudo gem update --system

2.2 查看gem版本

gem -v

注:请尽可能用比较新的 RubyGems 版本,建议 2.6.x 以上。

我目前的版本为2.6.3,安装更新后为3.0.2

2.3 删除镜像

gem sources--removehttps://rubygems.org/

2.4 修改镜像

gem sources--addhttps://gems.ruby-china.com/

2.5 为了验证你的Ruby镜像是并且仅是ruby-china,执行以下命令查看

gem sources -l

2.6 终端显示为如下即为成功,注:确保只有 gems.ruby-china.com 才为成功,如果有其他的请自行百度解决

***CURRENT SOURCES***https://gems.ruby-china.com/

通过Homebrew安装ruby最新版

3.1 查看 ruby 的安装目录(用处不大)

which -a ruby

注:执行以上命令后会输出 2 行,

其中 /usr/local/opt/ruby/bin/ruby 是通过 Homebrew 安装的,

而 /usr/bin/ruby 是 Mac 自带的 ruby,

请不要随便删除自带的 ruby, 否则会出现问题(这个本人也没尝试只是老外博文里说的)

通过 HomeBrew安装的版本:ruby 3.2.1 路径:/usr/local/opt/ruby/bin/ruby

Mac 自带版本: ruby 2.6.3 路径:/usr/bin/ruby

3.2 通过 Homebrew 安装 ruby

brew install ruby

3.3 使用以下命令查看 ruby 版本

ruby -v

如果成功安装之后使用命令查看 ruby 版本发现仍然是 Mac 自带的版本,类似如下

ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]

3.4 此时只需把 ruby 3.2.1 可执行文件导入全局变量 PATH 中即可,使用如下命令:

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc

source ~/.zshrc

3.5 再次查看 ruby 版本

ruby -v

显示以下命令行即为成功

ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-darwin20]

至此 ruby 3.2.1 安装成功

Mac下升级ruby至最新版本

这时候才正式开始安装CocoaPods

4.1 为了安全起见,执行以下命令,卸载原有的CocoaPod(全新安装用不到)

sudo gem uninstall cocoapods

cocopods彻底卸载重新安装

删除CocoaPods

4.2 执行以下命令来重新安装cocoapod

//Mac OS X 10.11前sudo gem install cocoapods

//Mac OS X 10.11后sudo gem install -n /usr/local/bin cocoapods

4.3 如果没有权限执行pod,执行以下命令,赋予/usr/local/bin给予执行与读取权限

sudo chmod +rx /usr/local/bin/

4.4 检测pod是否安装成功

pod --version

ikuai@iKuaideMacBook-Air ~ % pod --version

1.11.3

ikuai@iKuaideMacBook-Air ~ %

4.5 更新Podspec索引文件

安装成功后 执行

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 --progressCloning 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 54fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed

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

字节限制

解决方法:修改传输字节限制,使用以下方法。后面的限制数字,可以自己定大小(524288000,相当于500M)

git config--globalhttp.postBuffer1048576000

执行后在

git config -l

看看是否修改成功。

4.6 pod setup太慢终极解决办法

pod setup的本质就是将

https://github.com/CocoaPods/Specs.git

的代码下载到~/.cocoapods/repos/master

当我们去执行pod setup的时候,会发现那是一个相当的慢。估计一天的时间都浪费再这上面。这是因为使用的国外的镜像,只要使用国内的镜像就很好的解决了。

只要使用

cd ~/.cocoapods/repos

ikuai@iKuaideMacBook-Air ~ % cd ~/.cocoapods/repos

cd: no such file or directory: /Users/ikuai/.cocoapods/repos

ikuai@iKuaideMacBook-Air ~ %

如果没有则创建

mkdir-p~/.cocoapods/repos/

cd ~/.cocoapods/repos

备注:cocoapods 是一个隐藏目录

隐藏文件所在的目录按键盘上面的shift+cmmand+. ,接着看到隐藏文件夹内凡是前面带有小点的隐藏文件,或者是显示淡蓝色的文件都是隐藏文件,再次按上面的键隐藏。

然后 执行

pod reporemovemaster

来删除master文件

再执行

//newgitclone--depth1https://github.com/CocoaPods/Specs.git master

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

你会发现那速度杠杠的

pod setup

成功后会生成~/Library/Caches/CocoaPods/search_index.json文件。

终端输入

rm~/Library/Caches/CocoaPods/search_index.json

删除~/Library/Caches/CocoaPods目录下的search_index.json文件

删除成功后终端输入:

pod search AFNetworking(不区分大小写)

输出:Creating search index for spec repo 'master'.. Done!,稍等片刻就会出现所有带AFNetworking字段的类库出现。

4.7 CocoaPods 升级1.8.4的坑 CDN: trunk Repo update failed

由于项目是用CocoaPods管理,CocoaPods 1.8将CDN切换为默认的spec repo源,并附带一些增强功能!CDN支持最初是在1.7版本中引入的,最终在1.7.2中完成。 它旨在大大加快初始设置和依赖性分析。

解决办法:

(1)podfile添加source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'

(2)pod repo list 查看一下源列表

(3)pod repo remove trunk 移除trunk源

当执行 pod install 或者 pod update 后出现 Cloning spec repo cocoapods fromhttps://github.com/CocoaPods/Specs.git卡住情况,如图:

其实并没有卡住,只是因为网速慢的原因导致下载 spec repo cocoapods 速度慢,给人感觉像是卡住了。你可以到系统的“活动监视器”中查看“网络”这块,会发现有一些东西正在被下载,有一个 “git-remote-https” 就是负责下载 spec repo cocoapods 的,所以慢慢等待吧!

4.8 CocoaPods的具体使用

新建一个Xcode工程,使用终端cd到工程目录下

创建Podfile文件:

pod init

之后就可以在项目目录里看到一个Podfile文件

打开Podfile文件:

open Podfile

添加:

source ‘https://github.com/CocoaPods/Specs.git’platform:ios,'9.0'target'项目名称'dopod'AFNetworking'end

保存后退出

开始下载:

pod install

Pod安装需要ruby,ruby需要rvm

macOS Catalina 10.15 十分钟安装 CocoaPods

4. 更新Podspec索引文件

iOS 创建新项目使用pod install提示警告的几个解决办法

作者:冰雨9527

链接:https://www.jianshu.com/p/dbfdece084d5

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章

网友评论

      本文标题:2023安装CocoaPods

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