介绍
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上测试)。
- Node.js 安装在 macOS 机器上,如在 如何在 macOS 上安装 Node.js 并创建本地开发环境中所解释的那样。
步骤 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.6
和rbenv 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 系列。