本文最先發布在:https://www.itcoder.tech/posts/how-to-install-ruby-on-ubuntu-20-04/
Ruby 是當今最流行的語言之一。它有簡潔的語法,並且注重簡單和生產力上。Ruby 是強大的 Ruby on Rails 框架後面的語言。
在這個指南中,我們將會向你展示在 Ubuntu 20.04 上三種不同的方式去安裝 Ruby。
-
從 Ubuntu 標準源倉庫。這是在 Ubuntu 上安裝 Ruby 最簡單的方式,並且應該適合大部分用戶場景。包含在 Ubuntu 源倉庫中的 Ruby 版本是
2.7.0
。 -
使用 Rbenv。一個允許你在同一臺機器上安裝多個 Ruby 版本的腳本。
-
使用 Rvm(ruby 環境管理器)。一個更重,並且封裝更多功能特性的腳本。它允許你安裝,管理,使用多個不同版本的 Ruby。
選擇最適合你環境的安裝方式。如果你正在開發 Ruby 應用,並且需要多種 Ruby 環境,那麼你更偏好安裝 Ruby 的方式是 Rbenv 或者 RVM。
如果你不確定你需要安裝哪個版本的 Ruby,參考你將要部署的應用的文檔。
一、從 Ubuntu 源倉庫安裝 Ruby
在 Ubuntu 上安裝 Ruby 最簡單的方式就是使用apt
軟件包管理工具。在寫作本文的時候,Ubuntu 源倉庫中 Ruby 的版本是2.7.0
,這是一個最新的穩定版本。
安裝非常簡單直接。以 root 或者其他有 sudo 權限的用戶身份來運行下面的命令,來升級軟件包索引,並且安裝 Ruby:
sudo apt update
sudo apt install ruby-full
一旦完成,通過打印 Ruby 版本號,來驗證安裝結果:
ruby --version
輸出將會像下面這樣:
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
你的 Ruby 版本可能和上面展示的不一樣。
就這樣。你已經成功地在你的 Ubuntu 機器上安裝了 Ruby,並且你可以開始使用它了。
二、使用 Rbenv 安裝 Ruby
Rbenv 是一個輕量級命令行工具,它可以讓你輕鬆切換 Ruby 版本。
默認情況下,rbenv 不會安裝 Ruby。我們將會使用ruby-build
來安裝 Ruby。它可以是一個獨立的程序,也可以作爲 rbenv 的插件。
這個ruby-build
腳本從源碼安裝 Ruby。想要構建 Ruby,安裝必要的軟件庫和編譯器:
sudo apt update
sudo apt install git curl autoconf bison build-essential \
libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \
libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
安裝 rbenv 工具最簡單的方式就是使用 shell 腳本。運行下面的 curl 腳本來下載並執行腳本:
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash
這個腳本從 Github 克隆rbenv
和ruby-build
倉庫到~/.rbenv
目錄。
這個安裝腳本同時會調用另外一個腳本來驗證安裝過程,腳本輸出類似下面這樣:
Running doctor script to verify installation...
Checking for `rbenv' in PATH: not found
You seem to have rbenv installed in `/home/vagrant/.rbenv/bin', but that
directory is not present in PATH. Please add it to PATH by configuring
your `~/.bashrc', `~/.zshrc', or `~/.config/fish/config.fish'.
想要開始使用 rbenv,你需要將$HOME/.rbenv/bin
添加到你的 PATH 環境變量。
- 如果你正在使用 Bash
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
- 如果你正在使用 Zsh:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc
運行rbenv -v
命令,確保安裝成功:
rbenv -v
輸出:
rbenv 1.1.2-30-gc879cb0
想要獲取已經安裝的 Ruby 版本列表,輸入:
rbenv install -l
例如,想要安裝 Ruby 版本2.7.1,並且將它設置爲全局版本,你將輸入:
rbenv install 2.7.1
rbenv global 2.7.1
Rbenv 會在你的 PATH 環境變量前面加上一個名爲 shims 文件夾。這個文件夾包含了腳本(shims),它負責運行 Ruby 命令,並且執行。
Rbenv 允許你設置 shell,本地和全局的 Ruby 版本:
-
shell 版本在當前的 shell 中可用,擁有最高優先級。它可以通過
rbenv shell <ruby-version>
命令設置RBENV_VERSION
環境變量來定義。 -
本地版本在每一個目錄下設置。這個版本被寫在
.ruby-version
文件。當你運行一個 Ruby 腳本,rbenv 在當前以及所有父目錄中搜索這個文件。它使用第一個找到的文件作爲 Ruby 版本。想要設置本地版本,切換到這個目錄,並且運行rbenv local <ruby-version>
命令。 -
當沒有 shell 版本,以及本地版本被設置時,全局版本將會被啓用。使用
global <ruby-version>
來設置全局版本。
當使用 rbenv 管理 Ruby 的時候,不要使用 sudo 來安裝 gems。每一個 Ruby 版本都被安裝在~/.rbenv/versions
目錄,並且對用戶可寫。
三、使用 RVM 安裝 Ruby
Rvm 是一個命令行工具, 你可以安裝,管理,並且使用多個 Ruby 環境。
安裝從源碼構建 Ruby 所需要的依賴包:
sudo apt update
sudo apt install curl g++ gcc autoconf automake bison libc6-dev \
libffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libtool \
libyaml-dev make pkg-config sqlite3 zlib1g-dev libgmp-dev \
libreadline-dev libssl-dev
運行下面的命令添加 GPG key 並且安裝 RVM:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable
想要使用 RVM,加載腳本環境變量,使用source
命令:
source ~/.rvm/scripts/rvm
想要獲取使用這個工具安裝的 Ruby 版本列表,輸入:
rvm list known
使用 Rvm 安裝最新版本的 Ruby,並且設置爲默認的版本:
rvm install ruby
rvm --default use ruby
通過打印版本號,驗證 Ruby 是否被正確安裝:
ruby -v
輸出如下:
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
如果你想要裝指定版本的 Ruby,輸入下面的命令。替換x.x.x
爲你想要安裝的 Ruby 版本:
rvm install ruby-x.x.x
rvm --default use ruby-x.x.x
想要切換到另外一個版本,但是不設置爲默認的 Ruby,輸入:
rvm use ruby-x.x.x
想要獲取更多關於如何使用 RVM 管理你的 Ruby 安裝設置的信息,查看他們的文檔頁面。
四、總結
我們已經向你展示了在 Ubuntu 20.04 上安裝 Ruby 的不同方式。選擇哪種方式依賴於你的要求和參數。即使通過 Ubuntu 軟件源來安裝已經被打包好的版本是最簡單的方式,但是使用 Rbenv 和 RVM 可以給你更多選擇,讓你爲每個用戶選擇不同的 Ruby 版本。
如果你有任何疑問,請通過以下方式聯繫我們:
微信:
微信羣: 加上面的微信,備註微信羣
QQ: 3217680847