如何在Ubuntu 20.04上安装Ruby2.7.0?

原文地址:https://www.iplayio.cn/post/12400325

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

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

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

该脚本会将 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输入:

rbenv install -l

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

rbenv install 2.7.1
rbenv global 2.7.1

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

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

  • Shell版本在当前Shell中使用,并且具有最高优先级。可以通过RBENV_VERSION使用rbenv shell <ruby-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 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密钥并安装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版本。

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