Ruby 已發佈官方 Snap 套件

我們發佈了 Ruby 語言的官方 snap 套件。

https://snapcraft.io/ruby

Snap 是由 Canonical 開發的套件系統。它允許在多個 Linux 作業系統上將軟體與其依賴一同分發。這解決了用戶無法從作業系統自帶的倉庫例如 rpm 或 apt 中獲取到最新版本 Ruby 的問題。

在 Ubuntu 16.04 及其後續版本中,你可以通過下述命令使用 Ruby snap:

sudo snap install ruby --classic

(如果您正在使用其它 Linux 發行版,請參考 https://docs.snapcraft.io/installing-snapd/6735

我們的 snap 套件使用「頻道(channel)」功能使得多個 Ruby 版本可以平行發行。例如,在不指定頻道時,會安裝 Ruby 2.5.3 版本。但如果你想使用 Ruby 2.4,你可以通過下述命令指定爲 2.4 頻道:

sudo snap install ruby --classic --channel=2.4/stable

你還可以同時使用多個頻道。下述指令會將你的 Ruby 切換至 2.3 版本。

sudo snap switch ruby --channel=2.3/stable
sudo snap refresh

我們的 Snap 套件預設將 $HOME/.gem 作爲 GEM_HOMEGEM_PATH 的環境變數。所以當你執行由 RubyGems 安裝的指令(例如 Rails 或 RSpec),而沒有使用 bundle exec 命令時,你需要將下述程式添加至你的 shell rc 檔案中(例如 .bashrc):

eval `ruby.env`

由於 $HOME/.gem 被多個不同版本共享,如果你切換 Ruby 版本,你需要通過 gem pristine --extensions 重新編譯 C 擴充程式才能繼續使用 gem。

Ruby 首個官方套件版本是在 2018 年 11 月 6 日至 8 日於 Canonical 倫敦辦公室舉辦的 Snapcraft 峰會上發佈的。我們歡迎任何通過 https://github.com/ruby/snap.ruby 提交的回報。

請盡情享受。