新入职公司,分配一台全新MacBook pro,借此机会梳理一下cocoapods的完整安装流程。
cocoapods安装需要ruby,更新ruby需要rvm,下载rvm需要gpg,下载gpg需要homebrew,所以安装顺序是homebrew->gpg->rvm->ruby-cocoapods,注意这是完整流程,如果只是更新做cocoapods更新操作即可,不需要从第一步开始。
终端命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
常见问题:
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused 这是因为被墙了。
解决办法:
找到raw.githubusercontent.com 的ip,把映射关系存到host文件中。
打开网站https://www.ipaddress.com/
查询一下 raw.githubusercontent.com对应的IP 地址,这里查询到IP为:199.232.68.133
修改host文件
终端输入:sudo vim /etc/hosts
终端命令:
brew install gnupg
终端命令:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable
这里常常出现,mac zsh:gpg: 无法检查签名:No public key问题,终端会有提示,根据提示终端执行命令gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
就能解决这个问题。
source ~/.bashrc
source ~/.bash_profile
安装好 rvm,查看rvm的版本,指令:rvm -v
,显示rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
则rvm安装成功。
终端执行:
rvm list known
查看 ruby 的版本,列表里的版本都可以拿来安装,列表里面的都可以安装,注意选择一个稳定版本,测试版本不建议装。我这里安装的是2.6.5版本
rvm install 2.6.5
下载完成之后,执行:
rvm use 2.6.5 --default // 将2.6.5设为默认版本
如果出现:
Failed to update Homebrew, follow instructions at
https://docs.brew.sh/Common-Issues
and make sure brew update
works before continuing.
继续执行:brew install ruby
Updating Homebrew... Error: readline: undefined method
undent’ for #String:0x00007fd7d955c130`
rvm autolibs read-only
,再安装:rvm install ruby-2.6.5
查看已安装的 ruby
rvm list
更换源
sudo gem update --system
gem sources --remove https://rubygems.org/
gem sources --add https://gems.ruby-china.com/
验证镜像源是是否安装成功:gem sources -l
sudo gem install -n /usr/local/bin cocoapods
安装本地库
pod setup
注意:再新版本macOS系统中,系统命令行执行pod setup命令会直接结束;
解决办法,手动安装本地库
执行:
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk
// 接下来就是漫长的等待时间
// 这个命令等待几分钟不一定成功,注意不是错误,是网络问题,重新执行即可。
// 要想网速快点,可以用移动网络,或者等到晚上凌晨。
// 另外也可以使用国内的镜像,速度有明显改善,命令如下:
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git ~/.cocoapods/repos/trunk
如果还是不行
// 安装最新版cocoapods
sudo gem install cocoapods --pre
// 移除本地master
sudo rm -fr ~/.cocoapods/repos/master
// 移除本地缓存
sudo rm -fr ~/Library/Caches/CocoaPods/
// 重新setup,如果很慢可使用问题1的解决方法(git clone)
pod setup --verbose
// 移除trunk
pod repo remove trunk
下载完成之后检查是否可用,可查找任意三方库,这里以AFNetworking为例
pod search AFNetworking
新建一个Xcode工程,使用终端cd到工程目录下
pod init
open Podfile
pod 'AFNetworking'
保存并推出
pod install
到此整个流程结束,如有大神有补充的地方看到可留言,我这边做补充。