由 Hiroshi SHIBATA 发表于 2018-11-08
翻译: Delton Ding
我们发布了 Ruby 语言的官方 snap 包。
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 提交任何反馈。
请尽情享受。