CocoaPods安装教程

Apple系统 macOS Sonoma ,Pod 最近升级v1.15.0遇到更新问题,再次回头维护该文章,系统升级的话需要重新安装Pod,那么下面就来复习下面内容及完善

最近升级CocoaPods v1.15.0 遇到加载plugin问题 Your Podfile requires that the plugin cocoapods-pod-linkage be installed. , 主要是重新安装高版本ruby和pod;下面是我解决问题执行命令顺序:

// https://mac.install.guide/ruby/13.html 配置.zsh环境看这里
$ arch -arm64 brew install ruby
$ sudo gem uninstall cocoapods
$ gem list --local | grep cocoapods
$ sudo arch -arm64  gem install cocoapods
$ sudo gem update --system 3.4.21
// activesupport 这个库报错 所以安装低版本的了
$ sudo gem uninstall activesupport -v 7.1.1
$ sudo gem install activesupport -v 7.0.8
$ PATH="`ruby -e 'puts Gem.user_dir'`/bin:$PATH"
$ sudo gem install cocoapods-pod-linkage --user-install
$ pod install 
// 最后正常注册成功了

可能需要VPN, 安装homebrew 直接在terminal运行如下命令:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装homebrew成功截图

升级cocoapod v1.9.1 直接使用homebrew升级直接参考我安装的log,使用homebrew升级成功就可以跳过gem安装及更新步骤;直接brew reinstall cocoapods就行了

m1芯片 arch -arm64 brew install cocoapods

如果没有安装ruby 先执行 brew install ruby

localhost:~ dragon$ brew reinstall cocoapods
// apple m1 命令
localhost:~ dragon$ arch -arm64 brew install cocoapods
==> Downloading https://homebrew.bintray.com/bottles/cocoapods-1.9.1.mojave.bott
==> Downloading from https://akamai.bintray.com/6b/6ba9112176eff8173735c2528ddd7
######################################################################## 100.0%
==> Reinstalling cocoapods 
==> Pouring cocoapods-1.9.1.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/pod
Target /usr/local/bin/pod
already exists. You may want to remove it:
  rm '/usr/local/bin/pod'

To force the link and overwrite all conflicting files:
  brew link --overwrite cocoapods

To list all files that would be deleted:
  brew link --overwrite --dry-run cocoapods

Possible conflicting files are:
/usr/local/bin/pod
/usr/local/bin/xcodeproj
==> Summary
🍺  /usr/local/Cellar/cocoapods/1.9.1: 12,742 files, 30.1MB
localhost:~ dragon$ pod --version
1.8.4
localhost:~ dragon$ brew link --overwrite cocoapods
Linking /usr/local/Cellar/cocoapods/1.9.1... 2 symlinks created
localhost:~ dragon$ pod --version
1.9.1
localhost:~ dragon$ 

一、全新安装前,先检查是否有安装残留

1、如果之前装过cocopods,最好先卸载掉,卸载命令:

$ sudo gem uninstall cocoapods

2、先查看本地安装过的cocopods相关东西(没有则跳过),命令如下:

$ gem list --local | grep cocoapods

会显示如下:

cocoapods-core (1.1.1)
cocoapods-deintegrate (1.0.1)
cocoapods-downloader (1.1.2)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.1.1)
cocoapods-try (1.1.0)

然后逐个删除吧:

$ sudo gem uninstall cocoapods-core

3、先把Mac隐藏文件夹显示出来,Mac隐藏和显示的命令如下:隐藏:

defaults write com.apple.finder AppleShowAllFiles -bool true

显示:

 defaults write com.apple.finder AppleShowAllFiles -bool false

4、退出终端,重启Finder
5、如果不确定,可以把主目录下的隐藏文件都给删了,重新安装Ruby和cocopods。

二、总体步骤:Xcode—>home-brew—>rvm—>ruby—>cocopods (如果之前安装过ruby跳过步骤二, sudo gem update --system更新之后ruby -v 查看版本)

1、安装RVM 是干什么的这里就不解释了,后面你将会慢慢搞明白。

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

期间可能会问你sudo管理员密码,以及自动通过homebrew安装依赖包,等待一段时间后就可以成功安装好 RVM。然后,载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)
如果失败, 出现了下方的错误(报错内容 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Operation timed out)
$ source ~/.rvm/scripts/rvm
检查一下是否安装正确
sudo gem install redis
然后继续执行rvm的安装命令 (curl -L https://get.rvm.io | bash -s stable)

如果还是报 443 错误, 那就等一会再执行, 多次重试 总会成功的(我自己试了3次)

$ rvm -v
  rvm 1.22.17 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

2、用RVM安装Ruby环境列出已知的ruby版本

$ rvm list known

可以选择现有的rvm版本来进行安装(下面以rvm 2.0.0版本的安装为例)

$ rvm install 2.0.0

同样继续等待漫长的下载,编译过程,完成以后,Ruby, Ruby Gems 就安装好了。另附:查询已经安装的
ruby

$ rvm list

卸载一个已安装版本

$ rvm remove 1.9.2

3、设置Ruby版本RVM 装好以后,需要执行下面的命令将指定版本的 Ruby 设置为系统默认版本

$ rvm 2.0.0 --default

同样,也可以用其他版本号,前提是你有用 rvm install 安装过那个版本这个时候你可以测试是否正确

$ ruby -v
  ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]
$ gem -v2.1.6

1.更新ruby环境
http://blog.csdn.net/lissdy/article/details/9191351

源自于超哥的笔记:
我在使用的时候,遇到的问题; 并根据我第一次安装所需要的步骤做了优化更新
第一节、配置coopod

打开终端替换ruby镜像源,系统自带的镜像源( 
sudo gem sources --remove https://rubygems.org/
)被墙挡住了或者( https://ruby.taobao.org/)已过期。需替换成新的镜像源。

1).先查看已有的镜像是否是:https://gems.ruby-china.org 如不是移除现在的镜像,添加新的镜像,操作如下

gem sources -l

例如旧的镜像是:
*** CURRENT SOURCES ***
http://ruby.taobao.org/
移除此镜像,因为taobao镜像已过期

sudo gem sources --remove http://ruby.taobao.org/

补充:如果旧的镜像是 *** CURRENT SOURCES *** https://rubygems.org/ 此时输入命令:

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

删掉之前直接使用这个镜像:

sudo gem sources -a https://gems.ruby-china.com/

2)查看新镜像是否添加成功,查看镜像:

gem sources -l

成功显示: *** CURRENT SOURCES *** https://gems.ruby-china.com
3)第一次安装ruby环境版本肯定是需要更新的

sudo gem update --system -n /usr/local/bin

4)安装CocoaPods

sudo gem install cocoapods

注意:苹果系统升级 OS X EL Capitan 或 macOS High Sierra System 后改为

sudo gem install -n /usr/local/bin cocoapods
注册成功

4.1)当需要输入password,输入电脑密码开机就可以
5)设置pod ,这里可能需要等几秒钟

pod setup

等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。


pod setup 成功

按照提示更新,运行sudo gem install -n /usr/local/bin cocoapods --pre


更新成功

我遇到报错: http://blog.csdn.net/dubianjun/article/details/51711420
pod setup 之后会提示 sudo gem install cocopods --pre 升级beta版本
我运行之后报错没有权限,其实是因为苹果系统升级 OS X EL Capitan路径问题.所以加上即可.
sudo gem install -n /usr/local/bin cocoapods --pre
运行之后,全是绿色,开心啊!!!
6)为了确定AFNetworking是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。在终端中输入:

#pod v1.7.1以后需要默认使用trunk仓库,会导致seach失败;
#在Podfile 顶部添加 source 'https://github.com/CocoaPods/Specs.git'
pod repo remove trunk
pod search AFNetworking

如图


以上6步为配置,配置好了以后就不用动了
第二节、项目添加coopod
以下为在工程中使用教程
1)终端打开工程所在文件夹:
输入cd 空格 然后把工程文件夹拖到终端内生成路径,然后回车

2)验证打开路径是否正确,输入ls,对比一下文件夹目录是否正确

3)创建Podfile文件(以后不创建Podfile不需要输入了,只需要从4步开始)
输入vim Podfile (如果你不清楚Podfile格式, 那么可以在项目路径下运行 pod init 会自动生成与项目匹配的Podfile 然后可以使用xcode打开,开始注册你想要的三方╮( ̄▽ ̄)

4)在Podfile中设置你要下载的第三方库在git上的引用如
AFNetworking在官方github上会有引用说明
4.1)oc项目 写法

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'jkbs_train' do
pod "AFNetworking"
pod "BlocksKit"
end

注意: target "项目名称" do
4.2)swift项目 写法

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
platform :ios, ‘9.0’
target "NeteaseNews" do
pod 'AFNetworking'
pod 'SDWebImage'
pod 'SVProgressHUD'
pod 'MJRefresh'
pod 'MJExtension'
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '5.0'
end
end
end
end

注意: target "项目名称" do, config.build_settings['SWIFT_VERSION'] = 'swift的版本号'
然后保存,输入命令

esc

然后

:wq

成功后生成podfile文件



5)然后下载podfile文件内的第三方库
输入命令

pod install

6)等待完成时间取决于网速和库的大小



表示下载完成
7)上面那个打开会报错,要使用下面那个打开



下次添加此项以三方后只需第二节的1,5两步下载第三方库
1)安三方集成方法将 三方名称粘贴到项目的podfile 文件中 ,例如AFN的 pod 'AFNetworking', '~> 3.0'
2)输入cd 空格 然后把工程文件夹拖到终端内生成路径,然后回车

3)然后下载podfile文件内的第三方库 输入命令pod install
更新时(如AFNetWorking改写2.0到3.0)输入pod update

pod setup时,CocoaPods报CocoaPods was not able to update the master repo. If this is an unexpected issue and persists you can inspect it running pod repo update --verbose错误。
按照以下一步一步:

$ sudo rm -fr ~/Library/Caches/CocoaPods/
$ sudo rm -fr ~/.cocoapods/repos/master/
$ sudo gem install -n /usr/local/bin cocoapods
$ pod setup    

常见更新错

1.很久没有更新pod master repo 发生 pod update报错(Cocoapods: Failed to connect to GitHub to update the CocoaPods/Specs specs repo)报错解决方案
具体在终端运行

1. brew upgrade openssl 
2. brew upgrade ruby 
3. pod repo update master 

M1 处理器 pod install 崩溃报错解决:

1. sudo arch -x86_64 gem install ffi
2. arch -x86_64 pod install

第二个报错
LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle, 0x0009): missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle - /Library/Ruby/Gems/2.6.0/gems/ffi-1.13.1/lib/ffi_c.bundle
解决:找到 终端app 右键显示简介然后勾选以Rosetta方式打开

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