Ruby是当今最受欢迎的编程语言之一。 它具有优雅的语法,并着重于简单性和生产率。 Ruby语言强大的框架是Ruby on Rails。

在本教程中,我们将向您展示三种在Ubuntu 20.04上安装Ruby的方法:

  • 来自标准Ubuntu存储库。 这是在Ubuntu上安装Ruby的最简单方法,对于大多数用例来说已经足够了。 Ubuntu存储库中包含的版本为2.7.0
  • 使用Rbenv。 一个允许您在同一台计算机上安装多个Ruby版本的脚本。
  • 使用RVM(Ruby环境管理器)。 一个更重且功能更丰富的脚本,可让您安装,管理和使用多个ruby版本。

选择适合您的环境的安装方法。 如果您正在开发Ruby应用程序并在多个Ruby环境中工作,则首选方法是使用Rbenv或RVM安装Ruby。

如果不确定要安装哪个Ruby版本,请参阅要部署的应用程序的文档。

从Ubuntu存储库安装Ruby

在Ubuntu上安装Ruby的最简单方法是使用 apt 软件包管理器。 在撰写本文时,Ubuntu存储库中的版本为2.7.0,可能并不总是最新的稳定版本。

安装非常简单。 以超级用户或具有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

该脚本将 rbenv ruby-build 信息库从GitHub克隆到~/.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,您需要在 PATH 中添加$HOME/.rbenv/bin

如果使用Bash:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

如果使用Zsh:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc

运行rbenv -v命令以确保安装成功:

rbenv -v
rbenv 1.1.2-30-gc879cb0

要获取可以用rbenv安装的所有Ruby版本的列表,请输入:

rbenv install -l

例如,要安装Ruby版本2.7.1并将其设置为全局版本,您可以输入:

rbenv install 2.7.1

Rbenv的工作原理是在PATH的前面插入一个名为shims的目录。 此目录包含脚本(填充程序),其作用是拦截Ruby命令并执行相应的二进制文件。

Rbenv允许您设置shell,本地和全局Ruby版本:

  • shell版本在当前shell中使用,并且具有最高优先级。 可以通过使用rbenv shell <ruby-version>命令设置RBENV_VERSION环境变量来定义。
  • 本地版本是按目录设置的。 此版本写在.ruby-version文件中。 运行Ruby脚本时,rbenv在当前目录和所有父目录中搜索文件。 它使用存储在第一个找到的文件中的Ruby版本。 要设置本地版本,请导航至目录并运行rbenv local <ruby-version>命令。
  • 如果未设置外壳程序或本地版本,则所有外壳程序都使用全局版本。 使用rbenv global <ruby-version>设置全局版本。

当使用rbenv管理Ruby时,请勿使用sudo安装gem。 每个Ruby版本都安装在~/.rbenv/versions目录中,并且可由用户编写。

使用RVM安装Ruby

RVM是一个命令行工具,可用于安装,管理和使用多个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

运行以下命令以添加GPG密钥并安装RVM:

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

要开始使用RVM,请使用 source 命令加载脚本环境变量:

source ~/.rvm/scripts/rvm

要获取可以使用此工具安装的所有Ruby版本的列表,请输入:

rvm list known

使用RVM安装Ruby的最新稳定版本并将其设置为默认版本:

rvm install 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

要切换到另一个版本而不将其设置为默认Ruby,请输入:

rvm use ruby-x.x.x

有关如何使用RVM管理Ruby安装的更多信息,请查看其文档页面

结论

我们向您展示了在Ubuntu 20.04上安装Ruby的三种不同方式。 您选择的方法取决于您的要求和偏好。 尽管从Ubuntu存储库安装打包版本更容易,但Rbenv和RVM脚本为您提供了更大的灵活性,使每个用户可以使用不同的Ruby版本。

如果您有任何问题或反馈,请在下面发表评论。