前言
话说公司给配了台新Mac mini,M1处理器的,电脑到货后是11.0.1 BigSur 系统,电脑运行速度确实是刚刚的,但是接下来在安装cocoapoads上真是让我有苦说不出啊,皇天不负苦心人,终于断断续续弄了三天后,搞定了,现在把过程大致记录一下,希望能帮到其他同志,有些细节没有记录,只能靠感觉了。
首先
我们要明确,在m1处理器,11.0.1系统下安装cocoapods和之前的安装可以说是天壤之别,这也是本次安装坑点之一,坑点2就是我们的英文都太差了,安装过程中报的英文错误看不懂。
这里请大家先花几分钟把文章看完了再来操作,这样整个流程会清晰一点。
检查电脑是否安装homebrew
终端输入:brew -v
brew -v
提示
Homebrew 3.0.9
Homebrew/homebrew-core (git revision 7fa7e5ada3e; last commit 2021-03-29)
Homebrew/homebrew-cask (git revision cdd3a8a406; last commit 2021-03-30)
我是更新了一下homebrew
检查是否安装rvm
终端输入: rvm -v
rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
如果没有安装rvm,终端输入以下命令:
curl -L get.rvm.io | bash -s stable
//执行以上命令后,出现curl: (7) Failed to connect to raw.githubusercontent.com port 443:
//Connection refused
//则修改host文件,重新执行curl -L get.rvm.io | bash -s stable命令,反之直接执行指定源的命令。
修改host 文件,终端输入以下命令行:sudo vi /etc/hosts,在host文件中加入以下的IP地址配置,如下所示:
sudo vi /etc/hosts
52.74.223.119 github.com
192.30.253.119 gist.github.com
54.169.195.247 api.github.com
185.199.111.153 assets-cdn.github.com
151.101.76.133 raw.githubusercontent.com
151.101.108.133 user-images.githubusercontent.com
151.101.76.133 gist.githubusercontent.com
151.101.76.133 cloud.githubusercontent.com
151.101.76.133 camo.githubusercontent.com
151.101.76.133 avatars0.githubusercontent.com
151.101.76.133 avatars1.githubusercontent.com
151.101.76.133 avatars2.githubusercontent.com
151.101.76.133 avatars3.githubusercontent.com
151.101.76.133 avatars4.githubusercontent.com
151.101.76.133 avatars5.githubusercontent.com
151.101.76.133 avatars6.githubusercontent.com
151.101.76.133 avatars7.githubusercontent.com
151.101.76.133 avatars8.githubusercontent.com
1)输入本机密码后,打开hosts文件,键盘输入 i (插入),修改hosts文件后,按 esc 键退出,再按shift+:键,再输入w和q,保存退出
(2)不保存退出,则按q和!键
指定源:
source ~/.rvm/scripts/rvm
rvm -v
// 安装成功
// rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
安装rvm可以参考这编文章中的安装rvm介绍,注意只要关注他的安装rvm介绍即可
重点来了 重点来了 ruby的版本切记不要使用3.0.0的版本
我用的是2.6.3的版本
我在指定ruby的时候 用的是这个命令:
rvm system --default
只要终端输入ruby --version:
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]
只要出现这个即可,有些同志用rvm use 2.6.3 --default
会提示没有安装那是正常现象,我都没有去管他,也不必去管他,只要你输入ruby --version 出现 对应的版本号即可。
接下来安装cocoapods
sudo gem install cocoapods,,就算安装过cocoapods一样可以执行一下,好安装好之后,因为我们是M1处理器,所以我们需要额外安装一个ffi插件,这里需要注意,我们的终端可以把"使用Rosetta打开"开关开启,这样我们就可以在终端直接输入sudo gem install ffi
,然后我这边提示了Building native extensions. This could take a while... Successfully installed ffi-1.15.0 Parsing documentation for ffi-1.15.0 Done installing documentation for ffi after 3 seconds 1 gem installed
如何打开那个 rosetta开关呢,如下操作:
右键显示简介
如果不勾选 rosetta开关,可以在终端输入 sudo arch -x86_64 gem install ffi
这里可以参考这编文章
关于m1处理器问题的可以看这篇文章
我这边为了省事,就勾选了rosetta.
接下来注意
我们在pod setup 后,系统直接就setup completed,这个是正常现象,现在我们直接去创建一个测试工程,cd 进行某个工程后,就安装以往的方式,创建一个Podfile,例如:
platform:ios, '9.0'
target 'CocoaTestDemo' do
pod 'SDWebImage'
pod 'FMDB'
end
然后直接pod install,接下来神奇的一幕出现了....
我的终端输出了:
Analyzing dependencies
Adding spec repo `trunk` with CDN `https://cdn.cocoapods.org/`
Downloading dependencies
Installing FMDB (2.7.5)
Installing SDWebImage (5.10.4)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use `CocoaTestDemo.xcworkspace` for this project from now on.
Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.
这个时候我去.cocoapods目录去查看的时候:也看到了他下载的东西
这个时候 终于结束了3天的cocoapods的安装心酸史。泪目啊
问题分析猜测总结:
1、ruby 3.0.0最新版本与cocoapods最新版不兼容,我这边设置默认版本后指定为了2.6.3,所以猜测至少这个版本与cocoapods兼容性最强。
2、因为用的是最新的M1芯片处理器,所以猜测需要额外的ffi插件才能正确打开cocoapods
其他注意事项
1、在此次操作前 可以考虑将之前安装的cocoapods卸载掉,包括在.cocoapods的隐藏目录下的所有东西,我是将.cocoapods文件都删掉了
2、在安装好cocoapods后,先podsetup,会直接显示podSetup completed,这个时候不需要手动去github下载cocoapods的repo文件。