如何在 Ubuntu 20.04 上安裝 Ruby

本文最先發布在: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 腳本來下載並執行腳本:

阿里雲: 爆款雲服務器低至1折,1核1G 1M 僅17月/月

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash

這個腳本從 Github 克隆rbenvruby-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 版本。

阿里雲: 爆款雲服務器低至1折,1核1G 1M 僅17月/月




如果你有任何疑問,請通過以下方式聯繫我們:

微信:

微信羣: 加上面的微信,備註微信羣

QQ: 3217680847

QQ 羣: 82695646雪夢科技交流羣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章