二、 RVM 的安裝和使用

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- 前綴

image.png

2.3 查看 rvm 可以安裝的所有遠(yuǎn)程 ruby 版本

rvm list known

命令輸出如下:


image.png

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)安裝成功

image.png

使用 ruby -v 命令查看當(dāng)前終端 ruby 可執(zhí)行二進(jìn)制文件版本, 使用 rvm 安裝 ruby 會自動切換 終端 ruby 可執(zhí)行二進(jìn)制文件版本 為安裝的版本。
image.png

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

輸出下圖:

image.png

使用命令 ruby -v 查看當(dāng)前版本輸出如下圖:
image.png

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

輸出:


image.png

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


image.png

4.使用 rvm 管理 ruby 引起問題

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


image.png
sudo gem uninstall cocoapods
gem install cocoapods

4.結(jié)束語

有任何 rvm 相關(guān)問題請私信我,我會盡最大努力解決,因為溝通交流的過程大家才會持續(xù)成長。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容