电脑环境跟型号如标题所说,新电脑,这是背景,macOS系统换了个系统,很多东西都不一样,网上的文章很多对于我不适用,不具备参考性,每次升级系统、换电脑,配置环境都要踩一次坑。
如果想参考我的过程去配置的,建议先看完全文再决定,不要一步一步跟着,我这个过程不一定是最合适的,你跟着我走,可能就是跟着我把我踩过的坑再踩一遍。
首先是安装homebrew,Homebrew 是 Mac 平台的一个包管理工具,提供了许多Mac下没有的Linux工具等。官网:https://brew.sh,按照官网的安装命令进行安装,失败❌!
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
于是按照网上网友说的,更换镜像源,争取能安装下来,更换步骤如下:
(1) 下载官网的安装脚本
$ curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh >> brew_install
(2) 在用户文件夹下打开 brew_install 文件,把下面这两行的链接替换为清华大学的镜像链接。
替换前:
HOMEBREW_BREW_DEFAULT_GIT_REMOTE="https://github.com/Homebrew/brew"
HOMEBREW_CORE_DEFAULT_GIT_REMOTE="https://github.com/Homebrew/homebrew-core"
替换后:
HOMEBREW_BREW_DEFAULT_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
HOMEBREW_CORE_DEFAULT_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"
(3) 使用修改后的安装脚步进行安装
$ /bin/bash brew_install
(4) 设置环境变量
这时执行 brew -v 还是会报错 “zsh: command not found: brew”,详细看刚刚安装后的warning,可以发现是环境变量的设置问题,官方给出的输出日志里面也给出了处理的方案(见上面截图):
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
这时候输入 brew -v 就可以看到版本输出了。
$ brew -v
Homebrew 3.5.5
Homebrew/homebrew-core (no Git repository)
尝试过安装 gem 然后通过 gem 安装 cocoapods,失败,提示权限问题,具体没截图忘记了。网上让我用 brew 安装 cocoapods,也是过时了的方法,现在官方都是推荐用 rubygem 安装的,brew 只能安装到 1.5.3,而最新的 cocoapods 版本现在已经是 1.11.3 了。
按同事的建议,尝试按照这篇文章安装 rvm,然而安装完却无法安装 ruby:
$ curl -L https://get.rvm.io | bash -s stable
于是执行 rvm implode 卸载 rvm,之后按照输出的提示,清除了本地的文件夹,以及修改了各个文件中的环境变量。
然后安装另一个同事给的这篇文章的提示,重新安装了rvm,安装步骤如下:
(1) 下载 rvm 安装脚本
$ git clone https://github.com/rvm/rvm.git
(2) 下载完之后在路径 ~/rvm/bin/ 中找到 rvm-installer,双击运行完成安装。
(3) 配置环境变量
修改 ~/.bash_profile 文件的内容为
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
然后执行
$ source ~/.rvm/scripts/rvm
这时候执行 rvm -v 可以看到安装成功了:
$ rvm -v
rvm 1.29.12-next (master) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
根据 rvm list known 命令,可以看到最新的版本,然后选择你想要安装的版本,进行安装:
$ rvm install 2.7.6
然而再次受挫,我收到以下失败提示:
于是我按照提示,执行了 brew tap --repair ,然后执行了 brew doctor。得到如下:
看起来是之前的镜像有问题,于是我又再次按照提示一一照做,知道 brew doctor 再无错误提示,解决过程如下:
再次回到这一部分的一开始,执行 rvm install 2.7.6,终于顺利完成 ruby 安装!
$ ruby -v
ruby 2.7.6p219 (2022-04-12 revision c9c2245c0a) [arm64-darwin21]
此外,处理完brew的问题之后,gem的版本也从 3.1.6,变成了3.3.18。
由于之前用 brew 安装了 1.5.3 的 cocoapods,所以首先要先卸载旧版本的 cocoaPods,
首先,查看目前 gem 中安装的所有 cocoapods 组件:
$ gem list --local | grep cocoapods
然后,把这些组件一一卸载
$ sudo gem uninstall cocoapods-deintegrate
然后再安装指定版本的 cocoaPods:
$ sudo gem install cocoapods -v 1.11.3
……
$ pod --version
1.11.3
安装 cocoaPods 成功!
……
然而事情还没完,需要下载pod的索引仓库。执行pod setup久到你怀疑人生,最后我是手动下载了镜像源到本地的。
$ cd ~/.cocoapods/repos
$ pod repo remove master
$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
$ pod repo remove trunk
最后一行命令很重要,不移除trunk,在新版本的cocoaPods(1.8.0+)上会报错。
这个时候你的 ~/.cocoapods/repos 就只有 master 一个文件夹了,然后在你的 Podfile 上面添加这一行:
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
这个时候就可以pod install了。但是我依然pod了很久,最后用了手机热点才顺利pod下来的。
更多详细的解释参加这篇博文,我这里只记录这次的配置过程。