Ruby Version Manager (RVM) 是一個允許用戶安裝、管理、工作在多個 ruby 環(huán)境中的命令行工具,以下介紹其安裝與使用。
本篇文章在 Mac 的以下前置條件下進(jìn)行:
- shell: zsh
- OS: macOS Big Sur, 版本 11.5.2(20G95)
1.安裝
安裝 rvm 需要使用 gpg, 因此如果沒有 gpg 的需要使用如下命令下載 gpg:
brew install gpg
1.1 安裝 GPG keys
gpg --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
1.2 使用 curl 安裝 rvm
\curl -sSL https://get.rvm.io | bash -s stable
安裝成功后 rvm -v 查看版本,如果有輸出如下 rvm 版本字樣則代表 rvm 安裝成功:
rvm -v
rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
2.使用
2.1 將 Mac 系統(tǒng)系統(tǒng)自帶的 ruby 導(dǎo)入 rvm
在導(dǎo)入系統(tǒng)自帶的 ruby 過程中會需要用戶輸入 ruby 的名稱以為以后切換 ruby 版本做鋪墊,這樣我們就可以在系統(tǒng) ruby 和 新下載的 ruby 之間切換了, 我這里輸入名稱為ruby-2.6.3.
rvm automount
2.2 查看 rvm 管理的本地 ruby 版本
使用以下命令查看 rvm 管理的本地 ruby 版版本
rvm list
這里可以看到是我已上導(dǎo)入的系統(tǒng) ruby 版本ext-ruby=2.6.3,我給系統(tǒng)ruby名稱是ruby-2.6.3, rvm給自動加上 ext- 前綴

2.3 查看 rvm 可以安裝的所有遠(yuǎn)程 ruby 版本
rvm list known
命令輸出如下:

2.4 安裝遠(yuǎn)程 ruby 版本
從上邊遠(yuǎn)程 ruby 版本輸出選擇一個 ruby 版本, 這里我們選擇 2.6.6 安裝
rvm install 2.6.6
安裝完成之后使用 rvm list查看當(dāng)前已安裝 ruby 版本 , 如下圖紅框所示 2.6.6 已經(jīng)安裝成功

使用
ruby -v 命令查看當(dāng)前終端 ruby 可執(zhí)行二進(jìn)制文件版本, 使用 rvm 安裝 ruby 會自動切換 終端 ruby 可執(zhí)行二進(jìn)制文件版本 為安裝的版本。
2.5 切換 ruby 版本并設(shè)置為默認(rèn)
之前下載 ruby 2.6.6, rvm 為我們自動設(shè)置ruby為版本為 2.6.6,我們想切回系統(tǒng) 2.6.3 版本,可使用以下命令 并設(shè)置為默認(rèn)
rvm use ext-ruby-2.6.3 --default
輸出下圖:

使用命令
ruby -v 查看當(dāng)前版本輸出如下圖:
3. 卸載 ruby
之前下載 2.6.6 是為了博文演示,因此需要卸載掉, rvm 卸載指定版本 ruby 后(如之前使用待卸載版本 ruby)會自動切換 ruby 版本為當(dāng)前尚未卸載的 ruby 版本這樣我們也不會因為ruby導(dǎo)致錯誤,這也是 rvm 一個很好使用的地方。使用如下命令卸載 ruby 2.6.6。
rvm remove 2.6.6
輸出:

查看當(dāng)前版本 ruby 顯示2.6.3,

4.使用 rvm 管理 ruby 引起問題
使用 rvm 管理 ruby 會導(dǎo)致 pod 相關(guān)命令不能使用引起以下 gem 找不到問題,卸載并重新安裝 Cocoapods 即可。

sudo gem uninstall cocoapods
gem install cocoapods
4.結(jié)束語
有任何 rvm 相關(guān)問題請私信我,我會盡最大努力解決,因為溝通交流的過程大家才會持續(xù)成長。