∞安裝 RVM
RVM 支援大多數類 UNIX 系統和 Windows(搭配 Cygwin 或 Bash on Ubuntu on Windows)。基本需求為 bash
、curl
、gpg2
和整體 GNU 版本的工具,但 RVM 會嘗試自動偵測並安裝任何需要的項目。
∞安裝 GPG 金鑰
作為第一步,安裝用於驗證安裝套件的 GPG 金鑰
gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
如果您遇到問題,請查看 安全性
∞基本安裝
∞Ubuntu
RVM 有專用的 Ubuntu 套件,請遵循此處發布的說明:https://github.com/rvm/ubuntu_rvm
如果您需要不同(較新)版本的 RVM,請在安裝 RVM 的基本版本後查看 升級 區段。
∞任何其他系統
安裝 RVM(開發版本)
\curl -sSL https://get.rvm.io | bash
安裝 RVM 穩定版,搭配 Ruby
\curl -sSL https://get.rvm.io | bash -s stable --ruby
另外搭配 Rails(窮人的 railsinstaller)
\curl -sSL https://get.rvm.io | bash -s stable --rails
或搭配 JRuby、Rails 和 Puma
\curl -sSL https://get.rvm.io | bash -s stable --ruby=jruby --gems=rails,puma
在沒有 rubygems-bundler 和 rvm gem 的情況下安裝(並從 global.gems 和 default.gems 中移除這些 gem)
\curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler"
搭配 hirb gem 安裝(並將其新增至 global.gems)
\curl -sSL https://get.rvm.io | bash -s stable --with-gems="hirb"
搭配 Rails 和 Haml gem 安裝(並將其新增至 default.gems)
\curl -sSL https://get.rvm.io | bash -s stable --with-default-gems="rails haml"
沒有 autolibs
\curl -sSL https://get.rvm.io | bash -s -- --autolibs=read-fail
在下載 RVM/Rubies 時顯示進度條
echo progress-bar >> ~/.curlrc
請注意,curl 之前有一個反斜線。如果您已在 ~/.curlrc
檔案中使用設定別名,這可以防止錯誤行為。
如果您是現有的 RVM 使用者,而且您不希望 RVM 嘗試設定您的 shell 以載入 RVM,您可以在安裝時透過匯出 rvm_ignore_dotfiles=yes 來選擇不執行此動作,或透過在 rvmrc 中設定此項目來永久選擇不執行此動作。
∞您也可以
- 閱讀下方安裝文件。
- 觀看最準確(但非官方)的rvm 螢幕錄影。
- 閱讀最準確(但非官方)的rvm 速查表。
- 從 Rails 開始?觀看RailsCasts.com 上的 Rails 入門。
∞安裝說明
有 3 種不同的方式來安裝和設定 RVM。
- 單一使用者安裝(建議) - 針對使用者 $HOME 內的獨立安裝,不適用於 root。
- 多使用者安裝 - 針對伺服器管理員 - 針對系統上所有使用者可用的安裝 - 請注意,單一使用者會取代多使用者。這以前也稱為系統範圍安裝。在不了解 umask 運作方式的情況下使用這種類型的安裝會造成重大的安全風險。
- 混合模式安裝 - 針對系統上所有使用者可用的安裝 - 使用者 $HOME 內的獨立 rubies/gemsets。安裝說明與多使用者安裝完全相同,不同之處在於使用者的環境。
get.rvm.io 會重新導向到 https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer 您也可以使用安裝程式的完整路徑
\curl https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer | bash -s stable
∞安裝
我建議您自行閱讀安裝腳本。這將讓您在安裝之前有機會了解其運作方式,並讓您在執行時感到更安心。
∞1. 下載並執行 RVM 安裝腳本
安裝穩定發行版本
\curl -sSL https://get.rvm.io | bash -s stable
取得最新的開發狀態
\curl -sSL https://get.rvm.io | bash
指示 RVM 不要變更殼層初始化檔案 'rc' / 'profile'
\curl -sSL https://get.rvm.io | bash -s -- --ignore-dotfiles
請注意,從這一點開始,使用者有責任將 sourcing rvm 加入適當的檔案。
對於多使用者安裝,您會執行下列動作
\curl -sSL https://get.rvm.io | sudo bash -s stable
注意:多使用者安裝說明必須以 sudo
命令 為前綴。不過,安裝完成後,並遵循將使用者新增至 rvm
群組的說明後,就不再需要使用 sudo
或 rvmsudo
。sudo
命令僅用於暫時提升權限,讓安裝程式可以完成其工作。如果您在安裝完成後需要使用 sudo
或 rvmsudo
,表示安裝說明的某個部分未正確遵循。這通常是因為使用者以 root
身分執行安裝,而不是從非特權使用者帳戶執行安裝說明。
安裝特定版本
\curl -sSL https://get.rvm.io | bash -s -- --version latest \curl -sSL https://get.rvm.io | bash -s -- --branch [owner/][repo]
當然,如果您想將「bash」部分套用至多使用者安裝,請以「sudo」為前綴。歡迎查看我們的 升級文件,以取得有關分支格式的更多詳細資訊。
偵錯安裝程序
\curl -sSL https://get.rvm.io | bash -s -- --trace
如果 rvm 安裝腳本抱怨憑證,您需要遵循顯示的說明。
單使用者安裝位置:~/.rvm/
如果安裝腳本以標準非 root 使用者身分執行,RVM 將安裝至目前使用者的家目錄。
修改使用者設定檔 (*rc
/ *profile
) - RVM 預設會修改使用者啟動檔案,雖然不建議這麼做,但您可以停用自動化程序並手動執行此動作
\curl -sSL https://get.rvm.io | bash -s -- --ignore-dotfiles echo "source $HOME/.rvm/scripts/rvm" >> ~/.bash_profile
多使用者安裝位置:/usr/local/rvm
如果安裝腳本以 sudo 為前綴執行,RVM 將自動安裝至 /usr/local/rvm
。請參閱疑難排解頁面,以取得有關 多使用者安裝的重要注意事項。
請參閱常見問題解答頁面,以取得有關僅限 root 安裝的 重要注意事項。
外部教學
請注意,任何外部教學不受支援,無論它們是否有效。教學很棒,但我們已花費大量人力來偵錯安裝程序。請僅使用本網站的安裝程序,因為這是唯一受支援的安裝類型和方法。
更新現有 RVM 安裝
可以安全地再次重新執行安裝腳本,或者您可以遵循 升級文件。
∞2. 將 RVM 載入您的 shell 會話作為函數
單使用者
如果您以單一使用者身分安裝,rvm 函數將會自動設定系統上每位使用者的設定。請閱讀安裝程式的輸出,以檢查修改了哪些檔案。
多使用者
如果您使用 sudo 安裝,rvm 函數將會自動設定系統上每位使用者的設定。這是透過在登入時載入 /etc/profile.d/rvm.sh
來完成的。大部分 Linux 發行版預設會分析 /etc/profile,其中包含載入駐留在 /etc/profile.d/
目錄中所有檔案的邏輯。一旦您將想要使用 RVM 的使用者新增到 rvm 群組後,這些使用者必須登出並重新登入才能取得 rvm 群組成員資格,因為群組成員資格僅在最初登入時由作業系統評估。Zsh 不總是會取得 /etc/profile
的來源,因此您可能需要在 /etc/**/zprofile
中新增這個檔案
source /etc/profile
混合模式(使用者 gemsets)
- 遵循上述多使用者的說明後。
- 選擇一位使用者作為管理員 - 他將負責安裝新的 Ruby。此使用者不應執行以下介紹的指令。如果發生這種情況,請移除/重新命名
${HOME}/.rvmrc
,登出,然後重新登入。否則,您將無法正確安裝/升級新的 Ruby。 對於想要使用 RVM 的每位使用者,都需要針對每位使用者執行額外的指令(一次)
rvm user gemsets
由這些使用者建立的 Gemsets 將會儲存在他們的 HOME 目錄中。無法使用系統中的全域 Gemsets,而不用像手動連結目錄等技巧,而且不應在混合模式中使用它們。請記住,此處的「系統」並非指您的發行版的 Ruby 套件,而是指 RVM 多使用者安裝。
您有兩種方式可以管理 RVM。第一種是將管理員新增到 rvm 群組。第二種是使用 rvmsudo 和權限提升來使用個別管理員。請注意,從混合模式使用者使用 rvmsudo
並不安全。這兩種方式可以混合使用,而不會有任何副作用。不過,非常重要的是不要為管理員啟用混合模式 gemsets 或 Ruby。RVM 在安裝 gemsets、Ruby、更新自身等時,會使用自訂的 umask
(umask u=rwx,g=rwx,o=rx
)。這不應影響您的系統。但如果您希望避免 RVM 影響您的 umask,您可以在 /etc/rvmrc
中註解 umask 列。
此模式也應適用於乘客,請遵循 乘客 指示。
∞3. 重新載入 shell 設定檔和測試
關閉目前的 shell 或終端機工作階段,並開啟新的工作階段(建議)。您可以使用下列指令載入 RVM
source ~/.rvm/scripts/rvm
如果安裝和設定成功,每次開啟新的 shell 時,RVM 現在都應該會載入。這可以用執行下列指令來測試,指令應會輸出 rvm is a function
,如下所示。
type rvm | head -n 1 rvm is a function
注意:在回報問題之前,請檢查 rvm notes
,因為它可能包含重要資訊。
恭喜!您已成功安裝 RVM。
∞試用您的新 RVM 安裝
以下是使用 RVM 安裝和使用 Ruby 的一些範例。
顯示所有 已知
Ruby 的清單。注意:RVM 可以安裝更多未列出的 Ruby。
rvm list known # MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.7[-p374] [ruby-]1.9.1[-p431] [ruby-]1.9.2[-p320] [ruby-]1.9.3[-p545] [ruby-]2.0.0-p353 [ruby-]2.0.0[-p451] [ruby-]2.1[.1] [ruby-]2.1-head ruby-head ...
安裝 Ruby 版本(例如 2.1.1
)
rvm install 2.1 Checking requirements for opensuse. Requirements installation successful. Installing Ruby from source to: /home/mpapis/.rvm/rubies/ruby-2.1.1, this may take a while depending on your cpu(s)... ... Install of ruby-2.1.1 - #complete Using /home/mpapis/.rvm/gems/ruby-2.1.1
使用新安裝的 Ruby
rvm use 2.1 Using /home/mpapis/.rvm/gems/ruby-2.1.1
檢查是否正常運作
ruby -v ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux] which ruby /home/mpapis/.rvm/rubies/ruby-2.1.1/bin/ruby
您也可以選擇設定 Ruby 版本,作為新 shell 的預設版本。請注意,這會覆寫「系統」Ruby
rvm use 2.1 --default
∞盡情使用 RVM!
∞接下來呢?
如果您是 RVM 新手,我建議您閱讀 基礎知識頁面。基礎知識頁面的最後提供了更多入門連結。
∞安裝疑難排解
當您執行
curl -sSL https://get.rvm.io | bash -s stable
並收到通知
curl: (60) SSL certificate problem: unable to get local issuer certificate More details here: http://curl.haxx.se/docs/sslcerts.html
ca-certificates
需要安裝apt-get install ca-certificates
如果您開啟新的 shell 並執行
type rvm | head -1
沒有顯示
rvm is a function
,表示 RVM 沒有正確取得來源。請確保 RVM 在任何路徑設定之後取得來源,因為 RVM 會處理路徑。如果您沒有這麼做,RVM 可能無法如預期運作。
如果您在 Red Hat、CentOS 或 Fedora 上使用 GNOME,請確保在個人設定檔偏好設定的標題和指令標籤中勾選以登入 shell 執行指令選項。變更此設定後,您可能需要結束您的主控台工作階段並開始新的工作階段,變更才會生效。