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 版本:
- rbenv install 2.7.6
安装Ruby可能是个漫长的过程,所以请准备好耗费一些时间来完成安装。
一旦安装完成,使用全局子命令将其设置为您的默认Ruby版本。
- rbenv global 2.7.6
通过检查其版本号验证Ruby是否正确安装。
- ruby -v
如果您安装了 Ruby 的 2.7.6 版本,这条命令会返回如下输出:
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
现在您已经安装了至少一个版本的Ruby,并且设置了默认的Ruby版本。接下来,您将配置gems和Rails。
第三步 – 使用宝石进行工作宝石是分发Ruby库的方式。你使用gem命令来管理这些宝石,并使用该命令安装Rails。
当你安装一个 gem 后,安装过程会生成本地文档。每个 gem 的安装过程中,这会增加显著的时间消耗,因此可以通过创建一个名为 ~/.gemrc 的文件来关闭本地文档的生成,其中包含一个配置设置以关闭此功能。
- echo “gem: –no-document” > ~/.gemrc
Bundler是一个用于管理项目中gem依赖的工具。接下来,安装Bundler gem,因为Rails依赖于它。
- gem install bundler
你将会收到以下的输出结果:
Fetching bundler-2.2.27.gem Successfully installed bundler-2.2.27 1 gem installed
您可以使用gem env命令(env子命令是environment的简写)来了解有关gems环境和配置的更多信息。您可以通过使用home参数来确认gems的安装位置,例如:
- gem env home
你将会收到一个类似于这样的输出。
/home/sammy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0
一旦您完成了安装Gems,就可以开始安装Rails了。
第四步 – 安装Rails安装Rails时,使用gem安装命令,并加上-v标志来指定版本。在本教程中,您将使用6.1.4.1版本。
- gem install rails -v 6.1.4.1
gem命令会安装您指定的gem及其所有依赖项。Rails是一个复杂的网页开发框架,有许多依赖项,所以这个过程需要一些时间才能完成。最终,您将收到一条消息,表示Rails已安装并附带其依赖项。
… Successfully installed rails-6.1.4.1 37 gems installed
Note
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时,你应该运行以下命令:
- rbenv rehash
通过以下命令打印Rails的版本,来验证其是否已正确安装:请确认Rails已经安装正确:
- rails -v
如果安装正确,此命令将返回已安装的Rails版本。
Rails 6.1.4.1
在这一点上,你可以开始测试你的Ruby on Rails安装并开始开发Web应用程序。现在让我们回顾一下如何保持rbenv最新。
第五步 – 更新rbenv
由于你是通过 Git 手动安装的 rbenv,因此你可以在任何时候通过在 ~/.rbenv 目录中使用 git pull 命令将其升级到最新版本。
- cd ~/.rbenv
- git pull
这将确保您使用的是最新版本的 rbenv。
步骤六 – 卸载Ruby版本
当您下载额外的Ruby版本时,您可能会在您的~/.rbenv/versions目录中积累比您想要的版本更多的版本。使用ruby-build插件的卸载子命令来删除这些先前的版本。
以下命令将卸载 Ruby 2.7.6 版本:
- rbenv uninstall 2.7.6
通过 rbenv uninstall 命令,您可以清理掉旧版本的 Ruby,以防止您安装了比实际使用的更多的 Ruby 版本。
第七步 – 卸载 rbenv
如果你已经决定不再使用rbenv,你可以将其从你的系统中删除。
要做到这一点,首先在编辑器中打开你的~/.bashrc文件。在这个例子中,我们将使用nano。
- nano ~/.bashrc
找到并删除文件中的以下两行:
...
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
在删除这些行之后,保存文件并退出编辑器。如果你使用的是nano编辑器,你可以按下CTRL+X,然后按Y和ENTER来退出。
然后使用以下命令移除rbenv和所有已安装的Ruby版本。
- rm -rf `rbenv root`
退出并重新登录以应用对您的 shell 的更改。
结论
在本教程中,您安装了rbenv和gem来安装整个Ruby on Rails框架。从这里开始,您可以开始创建您的Web开发应用项目。如果您想了解如何使这些环境更加稳定,您可以查看我们的《如何使用Ruby编码》系列。