Tips:任何技术文章都有时效性,《从0到1手动打造移动广告归因系统》系列会尽力提供技术背景和环境,还请参考前务必看清文章发布时间,以免产生误导
故事背景
因为要对量U iOS SDK 的 demo 进行调试,而 demo 使用了 SVProgressHUD 和 AFNetworking 两个库,而这两个库都是通过 CocoaPods 这个 iOS 的依赖管理工具安装的,所以为了编译工程需要在 macOS 上安装上 CocoaPods
技术准备
macOS10.15
rvm 用来安装新的ruby版本
ruby 2.6.6 用来安装CocoaPods
安装过程
一开始使用下面命令安装,但一直报错
sudo gem install -n /usr/local/bin cocoapods
ERROR: Error installing cocoapods:
ERROR: Failed to build gem native extension
猜测是 ruby 版本可能会不兼容,也有很多网友指出不要用系统自带的 ruby ,需要自己手动重新安装一个
安装rvm
需要重新安装 ruby,先安装 rvm,这是一个便捷的多版本 Ruby 环境的管理和切换工具,但是网上很多教程都失效了,下面这条命令就无法安装成功
curl -sSL https://get.rvm.io | bash -s stable
因为这个地址的资源已经无法访问了,请使用下面的命令安装
curl -sSL https://gitee.com/shuzibanshou/Lionsu-iOS-SDK/raw/main/rvm-installer.sh | bash -s stable
安装完成
Upgrade of RVM in /Users/lionsu/.rvm/ is complete.
Thanks for installing RVM
Please consider donating to our open collective to help us maintain RVM.
👉 Donate: https://opencollective.com/rvm/donate
如果出现下面的提示,重启一下 shell 窗口或者执行 rvm reload
Please open a new shell or run one of the following commands:
rvm reload
echo rvm_auto_reload_flag=1 >> ~/.rvmrc # OR for auto reload with msg
echo rvm_auto_reload_flag=2 >> ~/.rvmrc # OR for silent auto reload
手动安装 ruby
首先查看 ruby 可用版本
rvm list known
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.10]
[ruby-]2.5[.8]
[ruby-]2.6[.6]
[ruby-]2.7[.2]
[ruby-]3[.0.0]
系统自带的是2.6.2,这里安装2.6.6 升级一个小版本
rvm install 2.6.6
如果出现下面的错误
RVM can not be run with `set -o posix`, please turn it off and try again
那么请使用命令
echo $SHELL
查看当前使用的 shell 是不是 sh,如果是,就切换成 bash 或者 zsh
//查看系统所有的可用 shell
$ cat /etc/shells
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
//切换到 bash
$chsh -s /bin/bash
//然后输入系统密码并重启 shell客户端
安装 ruby 2.6.6 成功
ruby-2.6.6 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
Install of ruby-2.6.6 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri
万事俱备 只待安装
这时候再执行安装 CocoaPods 就一切OK了
Parsing documentation for ruby-macho-1.4.0
Installing ri documentation for ruby-macho-1.4.0
Parsing documentation for cocoapods-1.10.1
Installing ri documentation for cocoapods-1.10.1
Done installing documentation for concurrent-ruby, i18n, ..
34 gems installed
$pod --version
1.10.1
安装成功!
网友评论