在 Ubuntu 22.04 上使用 rbenv 安装 Ruby on Rails

在 Ubuntu 22.04 上使用 rbenv 安装 Ruby on Rails

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

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

rbenv在本教程中,您将使用和遵循 Ruby 和 Rails 安装过程gem。首先,您将安装适当的包以安装 rbenv,然后安装 Ruby。之后,您将安装该ruby-build插件,以便您可以安装 Ruby 的可用版本。最后,您将使用它gem来安装 Rails,然后可以使用 Ruby on Rails 开始您的 Web 开发。您还将学习如何检查您的 rbenv 版本是否是最新的,以及如何卸载 Ruby 版本和 rbenv。

第 1 步 – 安装 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

接下来,将您对文件所做的更改应用于~/.bashrc当前的 shell 会话:
source ~/.bashrc

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

您的终端窗口将显示以下内容:
Output
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
该命令的输出列出了您可以选择安装的所有版本:
Output
2.7.7
3.0.5
3.1.3
3.2.1
jruby-9.4.0.0
mruby-3.1.0
picoruby-3.0.0
truffleruby-22.3.1
truffleruby+graalvm-22.3.1

Only latest stable releases for each Ruby implementation are shown.
Use ‘rbenv install --list-all / -L’ to show all local versions.

现在,安装 Ruby3.2.1:
rbenv install 3.2.1

安装 Ruby 可能是一个漫长的过程,因此请做好安装需要一些时间才能完成的准备。

安装完成后,使用global子命令将其设置为默认的 Ruby 版本:
rbenv global 3.2.1

通过检查其版本号来验证 Ruby 是否已正确安装:
ruby -v
如果您安装了 3.2.1 版的 Ruby,此命令将返回如下输出:
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux]

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

第 3 步 – 使用 Gems
Gem 是 Ruby 库的分布方式。您使用该gem命令来管理这些 gem,并使用该命令来安装 Rails。

安装 gem 时,安装过程会生成本地文档。这会为每个 gem 的安装过程增加大量时间,我们通过以下配置来关闭此功能:

echo “gem: --no-document” > ~/.gemrc
Bundler是一个管理项目的 gem 依赖项的工具。接下来安装 Bundler gem,因为 Rails 依赖于它:

gem install bundler
您将收到以下输出:

Fetching bundler-2.4.9.gem
Successfully installed bundler-2.4.9
1 gem installed
您可以使用gem env命令(子命令env的缩写environment)来了解更多关于gems的环境和配置。您可以使用home参数确认 gems 的安装位置,如下所示:

gem env home

您将收到与此类似的输出:

/root/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0
一旦设置好gems,就可以安装Rails。

第 4 步 – 安装Rails
要安装 Rails,请使用gem install命令和-v标志来指定版本。对于本教程,您将使用版本7.0.4:

gem install rails -v 7.0.4

该gem命令会安装您指定的 gem 及其任何依赖项。Rails 是一个复杂的 Web 开发框架,并且有很多依赖项,因此该过程需要一些时间才能完成。最终,您会收到一条消息,说明 Rails 及其依赖项已安装:

Output

Successfully installed rails-7.0.4
35 gems installed

注意:如果您想安装不同版本的 Rails,您可以通过搜索列出有效的 Rails 版本,这将输出可能版本的列表。然后您可以安装特定版本,例如4.2.7:

gem search ‘^rails$’ --all
gem install rails -v 4.2.7

如果您想安装最新版本的 Rails,请运行不指定版本的命令:

gem install rails

rbenv 通过创建一个目录shims来工作,该目录指向当前启用的 Ruby 版本使用的文件。通过rehash子命令,rbenv 在该目录中维护垫片,以匹配服务器上安装的每个 Ruby 版本的每个 Ruby 命令。每当您安装新版本的 Ruby 或像 Rails 一样提供命令的 gem 时,您应该运行以下命令:

rbenv rehash

通过使用以下命令打印 Rails 的版本来验证 Rails 是否已正确安装:

rails -v

如果安装正确,以下命令将返回已安装的 Rails 版本:

Output
Rails 7.0.4
此时,您可以开始测试 Ruby on Rails 安装并开始开发 Web 应用程序。现在让我们回顾一下如何使 rbenv 保持最新。

第 5 步 – 更新 rbenv
git pull由于您使用 Git 手动安装了 rbenv,因此您可以随时使用目录中的命令将安装升级到最新版本~/.rbenv:

cd ~/.rbenv
git pull

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

第 6 步 – 卸载 Ruby 版本
当您下载其他版本的 Ruby 时,您可能会在您的目录中积累比您想要的更多的版本~/.rbenv/versions。使用ruby-build插件的uninstall子命令删除这些以前的版本。

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

rbenv uninstall 3.2.0

使用该rbenv uninstall命令,您可以清理旧版本的 Ruby,这样您就不会安装比当前使用的更多的 Ruby。

第 7 步 – 卸载 rbenv
如果您决定不再使用 rbenv,您可以将它从您的系统中删除。

为此,请~/.bashrc在您喜欢的文本编辑器中打开您的文件。在这个例子中,我们将使用nano:

nano ~/.bashrc

从文件中查找并删除以下两行:

~/.bashrc

export PATH=“$HOME/.rbenv/bin:$PATH”
eval “$(rbenv init -)”
删除这些行后,保存文件并退出编辑器。如果您使用过nano,您可以按CTRL + X然后Y和退出ENTER。

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

rm -rf rbenv root

注销并重新登录以将更改应用到您的 shell。

结论
到这里,您安装了整个Ruby on Rails 框架。