如何在 macOS 上使用 rbenv 安装 Rails 上的 Ruby

介绍

Ruby on Rails是开发人员寻求创建网站和Web应用程序的流行的应用程序堆栈,与Rails开发框架相结合的Ruby编程语言使应用程序开发快速高效。

安装 Ruby 和 Rails 的一种方法是使用命令行工具 rbenv。使用 rbenv 将为您开发 Ruby on Rails 应用程序提供一个良好的控制和强大的环境,允许您根据需要轻松切换工作版本的 Ruby。

rbenv 支持指定特定应用程序的 Ruby 版本,允许您更改每个用户的全球 Ruby,并允许您使用环境变量来替代 Ruby 版本。

在本教程中,您将使用 rbenv 在本地 macOS 机器上安装和设置 Ruby on Rails。

前提条件

要遵循本教程,您将需要:

此教程已在 macOS 12.4 Monterey上测试)。

步骤 1 - 安装 rbenv

在此步骤中,您将安装 rbenv,并确保它在启动时自动启动. 在 macOS 上,本教程将使用包管理器 Homebrew

若要使用 Homebrew 下载「rbenv」包,请运行以下命令:

1brew install rbenv

这将安装 rbenv 和 [ruby-build] (https://github.com/rbenv/ruby-build) 插件. 此插件添加了rbenv install 命令,这简化了 Ruby 的新版本的安装过程。 这可能会安装其他几个依赖,并需要一些时间。

接下来,您将将eval命令$(rbenv init -)添加到您的~/.bash_profile文件中,以便在打开终端时自动加载rbenv。

1nano .bash_profile

将以下行添加到文件中:

1[label ~/.bash_profile]
2eval "$(rbenv init -)"

保存并删除文件。

接下来,将您对您的 ~/.bash_profile 文件所做的更改应用到当前的壳会话中:

1source ~/.bash_profile

要验证 rbenv 是否正确设置,请使用类型命令,该命令会显示有关rbenv命令的更多信息:

1type rbenv

您的终端窗口将显示如下:

 1[secondary_label Output]
 2rbenv is a function
 3rbenv ()
 4{
 5    local command;
 6    command="${1:-}";
 7    if [ "$#" -gt 0 ]; then
 8        shift;
 9    fi;
10    case "$command" in
11        rehash | shell)
12            eval "$(rbenv "sh-$command" "$@")"
13        ;;
14        *)
15            command rbenv "$command" "$@"
16        ;;
17    esac
18}

在此时,您在机器上安装了 rbenv 和 ruby-build,这将允许您在下一步从命令行安装 Ruby。

第2步:安装Ruby

有了 Ruby-build 插件,您可以通过单个命令安装您可能需要的任何版本的 Ruby. 在此步骤中,您将选择一个版本的 Ruby,在您的机器上安装它,然后验证安装。

首先,使用「-l」旗列出 Ruby 的可用版本。 请注意,未列出的,最近的小型版本也可能可用。 例如,如果此命令的输出列出 Ruby 的「3.0.5」,那么您也可能能够安装「3.0.4」。

1rbenv install -l
 1[secondary_label Output]
 22.6.10
 32.7.6
 43.0.4
 53.1.2
 6jruby-9.3.6.0
 7mruby-3.1.0
 8picoruby-3.0.0
 9rbx-5.0
10truffleruby-22.1.0
11truffleruby+graalvm-22.1.0

该命令的输出将是一个漫长的版本列表,您可以选择安装。

对于本教程,我们将安装Ruby 3.1.2:

1rbenv install 3.1.2

安装 Ruby 可能是一个漫长的过程,所以要准备好安装需要一段时间才能完成。

一旦安装完成,用全球子命令将其设置为默认版本的Ruby:

1rbenv global 3.1.2

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

1ruby -v

你的输出将看起来像这样的东西:

1[secondary_label Output]
2ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21]

要安装和使用不同的版本的 Ruby,请运行rbenv命令,使用不同的版本号,例如rbenv install 2.7.6rbenv global 2.7.6

您现在安装了一个版本的 Ruby,并设置了默认的 Ruby 版本,接下来,您将设置自己与 Ruby 包和库或 gems 一起工作,然后允许您安装 Rails。

步骤3 – 与宝石合作

Gems 是 Ruby 图书馆和程序的包,可在 Ruby 生态系统中分发。您使用gem命令来管理这些宝石. 在此步骤中,您将配置gem命令来为 Rails 安装做好准备。

当您安装宝石时,安装过程会生成本地文档,这可以为每个宝石的安装过程添加大量的时间,因此您可以通过创建一个名为 `~/.gemrc 的文件来关闭本地文档生成,其中包含一个配置设置来关闭此功能:

1echo "gem: --no-document" > ~/.gemrc

完成后,使用gem命令来安装 Bundler,该工具可管理项目的宝石依赖性。

1gem install bundler

你会看到这样的输出:

1[secondary_label Output]
2Fetching: bundler-2.3.18.gem
3Successfully installed bundler-2.3.18
41 gem installed

您可以使用gem env命令来了解更多关于宝石环境和配置的信息. 若要查看安装宝石的位置,请使用home参数,如下:

1gem env home

你会看到类似于此的输出:

1/Users/sammy/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0

现在你已经设置并探索了你的宝石工作流程,你可以免费安装 Rails。

步骤4:安装铁路

要安装 Rails,请使用gem install命令:

1gem install rails

gem命令会安装你指定的宝石,以及每个依赖性。Rails是一个复杂的Web开发框架,并且有许多依赖性,所以这个过程需要一段时间才能完成。

1[secondary_label Output]
2...
3Successfully installed rails-7.0.3.1
435 gems installed

<$>[注] :如果您想安装不同的 Rails 版本,您可以通过进行搜索列出 Rails 的有效版本,这将产生可能的版本的长列表。

1gem search '^rails$' --all
2gem install rails -v 4.2.7

美元

rbenv 通过创建一个 shims 目录或库来拦截呼叫并更改或重定向它们,在这种情况下,shims 指向 Ruby 命令用于当前启用的 Ruby 版本的文件。通过rehash子命令,rbenv 维护了该目录中的 shims,以匹配您服务器上每个安装的 Ruby 版本的每个 Ruby 命令。

若要重新加载 shims 目录,请运行以下命令:

1rbenv rehash

通过使用此命令打印 Rails 的版本来验证您的安装:

1rails -v

您将看到已安装的 Rails 版本:

1[secondary_label Output]
2Rails 7.0.3.1

成功安装 Rails 后,您可以开始测试 Ruby on Rails 安装,并开始开发 Web 应用程序。

步骤 5 — 更新和卸载 rbenv 和 Ruby

在维护项目时,知道如何在需要时更新和卸载是很有用的。 在此步骤中,您将升级 rbenv,然后从您的机器中卸载 Ruby 和 rbenv。

您可以使用 Homebrew 升级 rbenv 和 ruby-build,运行以下命令:

1brew upgrade rbenv ruby-build

如果 rbenv 或 ruby-build 需要更新,Homebrew 会自动为您更新。

1[secondary_label Output]
2Warning: rbenv 1.2.0 already installed
3Warning: ruby-build 20220713 already installed

这将确保我们使用最新的版本的rbenv可用。

當您下載 Ruby 的其他版本時,您可能會在您的「~/.rbenv/versions」目錄中積累更多的版本,您可以使用 ruby-build 插件的「卸載」子命令去除這些以前的版本。

例如,请执行以下操作来卸载 Ruby 版本 2.1.3:

1rbenv uninstall 2.1.3

使用rbenv uninstall命令,您可以清理 Ruby 的旧版本,以便您没有比当前使用的安装更多。

如果您已经决定不再使用 rbenv,您可以从系统中删除它。

要做到这一点,先在编辑器中打开你的 ~/.bash_profile 文件:

1nano ~/.bash_profile

查找并从文件中删除下列行,以阻止 rbenv 在打开终端时开始:

1[label ~/.bash_profile]
2...
3eval "$(rbenv init -)"

删除此行后,保存文件并退出编辑器。

运行以下命令,将更改应用到您的壳:

1source ~/.bash_profile

接下来,使用此命令删除 rbenv 和所有安装的 Ruby 版本:

1rm -rf `rbenv root`

最后,用 Homebrew 删除 rbenv 包本身:

1brew uninstall rbenv

检查 rbenv 版本,以确保已卸载:

1rbenv -v

你会得到以下的输出:

1[secondary_label Output]
2-bash: /usr/local/bin/rbenv: No such file or directory

这意味着您已成功从您的机器中删除 rbenv。

结论

在本教程中,您在 macOS 上安装了 Ruby on Rails with rbenv. 从这里,您可以了解更多关于在 Ruby 中编码的信息,使用我们的 How To Code in Ruby 系列。

Published At
Categories with 技术
comments powered by Disqus