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 脚本来下载并执行脚本:
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash
这个脚本从 Github 克隆rbenv
和ruby-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 版本。
评论(0)