我们发布了 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_HOME` 和 `GEM_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> 提交任何反馈。

请尽情享受。
