2023安装CocoaPods

背景

新入职公司,分配一台全新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

来源:简书

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • 点赞!!! 都还干着iOS嘛???!!! 背景 新入职公司,分配一台全新MacBook pro,借此机会梳理一下c...
    冰雨9527阅读 43,061评论 5 100
  • 更新时间:2020.6.28 安装方式有两种,第一种使用普通的终端命令行去安装,第二种使用工具Homebrew去安...
    黄成瑞阅读 41,497评论 4 51
  • cocoapods安装依赖关系 https://www.cnblogs.com/itgezhu/p/1108760...
    小妖向前跑阅读 195评论 0 0
  • 前几天安装cocopods出了些问题,搜索了才知道,反正各种的坑,于是在网上找了篇博客,博主写的很全面,转载过来收...
    真巧了_嘿阅读 1,344评论 0 0
  • 一.CocoaPods是什么? CocoaPods是一个用Ruby写的、负责管理iOS项目中第三方开源库的工具,C...
    王小祺阅读 702评论 1 0