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 包使用「通道」特性来并行发布多个 Ruby 版本。举例来说,在不指定通道时,2.5.3 版本会被安装。但如果你想要使用 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),却没有使用 buncle exec 命令时,你需要将如下代码添加至 shell rc 文件(例如 .bashrc):

eval `ruby.env`

由于 $HOME/.gem 被多个版本的 Ruby 共享,如果你需要切换版本,你需要通过 gem pristine --extensions 命令重新编译 C 扩展。

Ruby 官方的首个 Snap 发行版,是在 2018 年 11 月 6 日至 8 日在 Canonical 伦敦办公室举办的 Snapcraft 峰会上发布的。我们欢迎通过 https://github.com/ruby/snap.ruby 提交任何反馈。

请尽情享受。