分类
文章

如何在macos上使用rbenv安装ruby on rails

介绍

对于希望创建站点和Web应用程序的开发人员而言, Ruby on Rails是一种流行的应用程序堆栈。Ruby编程语言与Rails开发框架相结合,使应用程序开发快速高效。

安装Ruby和Rails的一种方法是使用命令行工具rbenv 。使用rbenv将为您提供一个良好控制的健壮环境,用于开发Ruby on Rails应用程序,使您可以在需要时轻松地为整个团队切换Ruby版本。

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

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

先决条件

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

第1步-安装rbenv

在此步骤中,您将安装rbenv并确保其在启动时自动启动。为此,本教程将使用软件包管理器Homebrew

要使用Homebrew下载rbenv软件包,请运行以下命令:

  • brew install rbenv

这将安装rbenv和ruby-build插件。该插件添加了rbenv install命令,该命令简化了Ruby新版本的安装过程。

接下来,将命令eval "$(rbenv init -)"~/.bash_profile文件中,以在打开终端时自动加载rbenv。为此,请在您喜欢的文本编辑器中打开.bash_profile :

  • nano .bash_profile

将以下行添加到文件中:

~/.bash_profile
eval "$(rbenv init -)"

保存并退出文件。

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

  • source ~/.bash_profile

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

  • type rbenv

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

Outputrbenv 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

现在安装了ruby-build插件,您可以通过一个命令安装所需的任何版本的Ruby。在此步骤中,您将选择Ruby版本,将其安装在您的计算机上,然后验证安装。

首先,使用-l标志列出所有可用的Ruby版本:

  • rbenv install -l

该命令的输出将是一长串可供选择安装的版本。

对于本教程,请安装Ruby 2.6.3 :

  • rbenv install 2.6.3

安装Ruby可能是一个漫长的过程,因此请做好准备,以完成安装过程。

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

  • rbenv global 2.6.3

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

  • ruby -v

您的输出将如下所示:

Outputruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]

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

现在,您已经安装了一个Ruby版本,并设置了默认的Ruby版本。接下来,您将进行设置以使用Ruby包和库或gems ,然后将它们允许您安装Rails。

步骤3 —使用Gems

Gems是可在整个Ruby生态系统中分发的Ruby库和程序的软件包。您可以使用gem命令来管理这些宝石。在此步骤中,您将配置gem命令以准备安装Rails。

当您安装gem时,安装过程将生成本地文档。这会为每个gem的安装过程增加大量时间,因此,通过创建一个名为~/.gemrc的文件来关闭本地文档生成,该文件包含用于禁用此功能的配置设置:

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

完成后,使用gem命令安装Bundler ,该工具可管理项目的gem依赖关系。这是Rails正常工作所必需的:

  • gem install bundler

您将看到如下输出:

OutputFetching: bundler-2.0.2.gem
Successfully installed bundler-2.0.2
1 gem installed

您可以使用gem env命令来了解有关gem env的环境和配置的更多信息。要查看已安装的gem的位置,请使用home参数,如下所示:

  • gem env home

您将看到类似于以下的输出:

/Users/sammy/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0

既然您已经设置并浏览了gem工作流程,就可以自由安装Rails。

第4步-安装Rails

要安装Rails,请使用gem install命令以及-v标志来指定版本。在本教程中,我们将使用版本5.2.3 :

  • gem install rails -v 5.2.3

gem命令安装指定的宝石,以及每一个依赖。Rails是一个复杂的Web开发框架,具有许多依赖性,因此该过程将需要一些时间才能完成。最终,您会看到一条消息,说明已安装Rails及其依赖项:

Output...
Successfully installed rails-5.2.3
38 gems installed

Note :如果要安装其他版本的Rails,可以通过搜索列出有效的Rails版本,这将输出一长串可能的版本。然后,我们可以安装特定版本,例如4.2.7 :

  • gem search '^rails$' --all
  • gem install rails -v 4.2.7

如果要安装最新版本的Rails,请在不指定版本的情况下运行命令:

  • gem install rails

rbenv通过创建shims目录或拦截呼叫并更改或重定向它们的库来工作。在这种情况下,填充将Ruby命令指向当前启用的Ruby版本使用的文件。通过rehash子命令,rbenv在该目录中维护垫片,以匹配服务器上已安装的每个Ruby版本中的每个Ruby命令。每当您安装新版本的Ruby或提供命令(例如Rails)的gem时,都应该使用rehash

要重新哈希目录,请运行以下命令:

  • rbenv rehash

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

  • rails -v

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

OutputRails 5.2.3

成功安装Rails后,您可以开始测试Ruby on Rails的安装并开始开发Web应用程序。在下一步中,您将学习如何更新和卸载rbenv和Ruby。

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

维护项目时,了解需要时如何更新和卸载很有用。在此步骤中,您将升级rbenv,然后从计算机上卸载Ruby和rbenv。

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

  • brew upgrade rbenv ruby-build

如果需要更新rbenv或ruby-build,Homebrew会自动为您完成。如果您的设置已经是最新的,则将获得类似于以下内容的输出:

OutputError: rbenv 1.1.2 already installed
Error: ruby-build 20190615 already installed

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

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

例如,运行以下命令来卸载Ruby 2.1.3版本:

  • rbenv uninstall 2.1.3

使用rbenv uninstall命令,您可以清理Ruby的旧版本,以便安装的数量不超过当前使用的数量。

如果您决定不再使用rbenv,则可以将其从系统中删除。

为此,请先在编辑器中打开~/.bash_profile文件:

  • nano ~/.bash_profile

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

~/.bash_profile
...
eval "$(rbenv init -)"

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

运行以下命令以将更改应用于您的shell:

  • source ~/.bash_profile

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

  • rm -rf `rbenv root`

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

  • brew uninstall rbenv

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

  • rbenv -v

您将获得以下输出:

Output-bash: /usr/local/bin/rbenv: No such file or directory

这意味着您已成功从计算机中删除了rbenv。

结论

在本教程中,您在macOS上安装了带rbenv的Ruby on Rails。从这里,您可以通过我们的《 如何在Ruby中编码》系列来学习有关在Ruby中进行编码的更多信息。您还可以探索如何在PostgreSQL上使用Ruby on Rails,而不是在默认的sqlite3数据库中使用它,该数据库为您的应用程序提供了更大的可伸缩性,集中性和稳定性。

发表评论

电子邮件地址不会被公开。 必填项已用*标注