Ubuntu 20.04使用rbenv安装Ruby on Rails完整教程

介绍

对于希望创建网站和Web应用的开发者来说,Ruby on Rails是最受欢迎的应用程序堆栈之一。Ruby编程语言与Rails开发框架相结合,能够快速构建和部署可扩展的应用程序。

你可以使用命令行工具 rbenv 来安装 Ruby 和 Rails。使用 rbenv 可以为您开发 Ruby on Rails 应用程序提供一个稳定的环境,并允许您在不同的 Ruby 版本之间切换,确保整个团队使用相同的版本。rbenv 还支持指定特定应用程序版本的 Ruby,并允许您为每个用户更改全局 Ruby,还可以使用环境变量来覆盖 Ruby 版本。

在本教程中,我们将使用rbenv和gem引导您完成Ruby和Rails的安装过程。首先,您将安装适当的软件包来安装rbenv和Ruby。然后,您将安装ruby-build插件,以便您可以安装可用的Ruby版本。最后,您将使用gem来安装Rails,然后可以使用Ruby on Rails开始您的Web开发。我们还将提供有关如何检查您的rbenv版本是否最新以及如何卸载Ruby版本和rbenv的步骤。

先决条件

要跟随这个教程,你需要:

  • 按照Ubuntu 20.04初始服务器设置指南设置的一台Ubuntu 20.04服务器,包括一个sudo非root用户和防火墙。
  • 使用官方PPA安装的Node.js,如在《如何在Ubuntu 20.04上安装Node.js》的选项2中所述。一些Rails功能,如Asset Pipeline,依赖于JavaScript运行时。Node.js提供了此功能。

第一步 – 安装rbenv和相关依赖

Ruby 依赖于一些可以通过软件包管理器安装的软件包。一旦安装了这些软件包,您可以安装 rbenv 并使用它来安装 Ruby。

首先,更新您的软件包列表。

$ sudo apt update

接下来,安装安装Ruby所需的依赖项。

$ sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev

安装完依赖后,您可以安装 rbenv 本身。使用 curl 从 Github 上获取安装脚本,并将其直接传送到 bash 运行安装程序。

$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash

接下来,将~/.rbenv/bin添加到您的$PATH中,以便您可以使用rbenv命令行实用程序。通过修改您的~/.bashrc文件,使其影响到未来的登录会话来完成此操作。

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

然后,将命令 eval “$(rbenv init -)” 添加到你的 ~/.bashrc 文件中,这样 rbenv 就会自动加载:

$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

下一步,在当前的 shell 会话中应用您对 ~/.bashrc 文件所做的更改。

$ source ~/.bashrc

通过运行type命令验证rbenv是否正确设置,该命令将显示有关rbenv命令的更多信息。

$ type rbenv

您的终端窗口将会显示以下内容:

输出
rbenv is a function
rbenv ()
{
local command;
command="${1:-}";
if [ "$#" -gt 0 ]; then
shift;
fi;
case "$command" in
rehash | shell)
eval "$(rbenv "sh-$command" "$@")"
;;
*)
command rbenv "$command" "$@"
;;
esac
}

此时,您已经安装了rbenv和ruby-build。接下来,让我们安装Ruby。

步骤2 – 使用ruby-build安装Ruby

安装了ruby-build插件后,您可以使用一个命令安装所需的Ruby版本。首先,列出所有可用的Ruby版本。

$ rbenv install -l

那条指令的输出将会是一个版本列表,您可以选择安装。

输出

2.6.8 2.7.4 3.0.2 jruby-9.2.19.0 mruby-3.0.0 rbx-5.0 truffleruby-21.2.0.1 truffleruby+graalvm-21.2.0 Only latest stable releases for each Ruby implementation are shown. Use ‘rbenv install –list-all / -L’ to show all local versions.

现在让我们安装 Ruby 2.7.6 版本:

  1. rbenv install 2.7.6

 

安装Ruby可能是个漫长的过程,所以请准备好耗费一些时间来完成安装。

一旦安装完成,使用全局子命令将其设置为您的默认Ruby版本。

  1. rbenv global 2.7.6

 

通过检查其版本号验证Ruby是否正确安装。

  1. ruby -v

 

如果您安装了 Ruby 的 2.7.6 版本,这条命令会返回如下输出:

Output

ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]

现在您已经安装了至少一个版本的Ruby,并且设置了默认的Ruby版本。接下来,您将配置gems和Rails。

第三步 – 使用宝石进行工作宝石是分发Ruby库的方式。你使用gem命令来管理这些宝石,并使用该命令安装Rails。

当你安装一个 gem 后,安装过程会生成本地文档。每个 gem 的安装过程中,这会增加显著的时间消耗,因此可以通过创建一个名为 ~/.gemrc 的文件来关闭本地文档的生成,其中包含一个配置设置以关闭此功能。

  1. echo “gem: –no-document” > ~/.gemrc

 

Bundler是一个用于管理项目中gem依赖的工具。接下来,安装Bundler gem,因为Rails依赖于它。

  1. gem install bundler

 

你将会收到以下的输出结果:

Output

Fetching bundler-2.2.27.gem Successfully installed bundler-2.2.27 1 gem installed

您可以使用gem env命令(env子命令是environment的简写)来了解有关gems环境和配置的更多信息。您可以通过使用home参数来确认gems的安装位置,例如:

  1. gem env home

 

你将会收到一个类似于这样的输出。

Output

/home/sammy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0

一旦您完成了安装Gems,就可以开始安装Rails了。

第四步 – 安装Rails安装Rails时,使用gem安装命令,并加上-v标志来指定版本。在本教程中,您将使用6.1.4.1版本。

  1. gem install rails -v 6.1.4.1

 

gem命令会安装您指定的gem及其所有依赖项。Rails是一个复杂的网页开发框架,有许多依赖项,所以这个过程需要一些时间才能完成。最终,您将收到一条消息,表示Rails已安装并附带其依赖项。

Output

… Successfully installed rails-6.1.4.1 37 gems installed

Note

注意:如果您想安装不同版本的Rails,可以通过搜索列出有效的Rails版本,搜索结果将会输出一个可能的版本列表。然后您可以安装特定版本,例如4.2.7:
gem search ‘^rails$’ –all
gem install rails -v 4.2.7如果您想安装最新版本的Rails,请运行不带指定版本的命令:
gem install railsrbenv通过创建一个包含指向当前启用的Ruby版本所使用的文件的shim目录来工作。通过重新运行rehash子命令,rbenv在该目录中维护shims以匹配服务器上每个安装的Ruby版本中的每个Ruby命令。每当你安装新的Ruby版本或提供像Rails这样的命令的gem时,你应该运行以下命令:

  1. rbenv rehash

 

通过以下命令打印Rails的版本,来验证其是否已正确安装:请确认Rails已经安装正确:

  1. rails -v

 

如果安装正确,此命令将返回已安装的Rails版本。

Output

Rails 6.1.4.1

在这一点上,你可以开始测试你的Ruby on Rails安装并开始开发Web应用程序。现在让我们回顾一下如何保持rbenv最新。

第五步 – 更新rbenv

由于你是通过 Git 手动安装的 rbenv,因此你可以在任何时候通过在 ~/.rbenv 目录中使用 git pull 命令将其升级到最新版本。

  1. cd ~/.rbenv
  2. git pull

 

这将确保您使用的是最新版本的 rbenv。

步骤六 – 卸载Ruby版本

当您下载额外的Ruby版本时,您可能会在您的~/.rbenv/versions目录中积累比您想要的版本更多的版本。使用ruby-build插件的卸载子命令来删除这些先前的版本。

以下命令将卸载 Ruby 2.7.6 版本:

  1. rbenv uninstall 2.7.6

 

通过 rbenv uninstall 命令,您可以清理掉旧版本的 Ruby,以防止您安装了比实际使用的更多的 Ruby 版本。

第七步 – 卸载 rbenv

如果你已经决定不再使用rbenv,你可以将其从你的系统中删除。

要做到这一点,首先在编辑器中打开你的~/.bashrc文件。在这个例子中,我们将使用nano。

  1. nano ~/.bashrc

 

找到并删除文件中的以下两行:

~/.bashrc 文件

...
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

在删除这些行之后,保存文件并退出编辑器。如果你使用的是nano编辑器,你可以按下CTRL+X,然后按Y和ENTER来退出。

然后使用以下命令移除rbenv和所有已安装的Ruby版本。

  1. rm -rf `rbenv root`

 

退出并重新登录以应用对您的 shell 的更改。

结论

在本教程中,您安装了rbenv和gem来安装整个Ruby on Rails框架。从这里开始,您可以开始创建您的Web开发应用项目。如果您想了解如何使这些环境更加稳定,您可以查看我们的《如何使用Ruby编码》系列。

bannerAds