macOS上安装Ruby并设置本地编程环境

西门桃桃 2020-12-18 PM 2846℃ 0条

介绍

Ruby是一种动态编程语言,可用于编写从简单脚本到游戏和Web应用程序的任何内容。它于1993年首次在日本发布,但在2005年作为服务器端Web开发的语言获得了普及。

Ruby已经包含在默认的macOS安装中,尽管它不是最新的版本。在使用教程或尝试使用其他项目时,可能会遇到兼容性问题。

在本教程中,您将使用Homebrew在本地macOS机器上设置Ruby编程环境,并通过编写一个简单的Ruby程序来测试您的环境。

准备

您将需要一台运行El Capitan或更高版本的macOS计算机,具有管理访问权限和Internet连接。

第1步 - 使用macOS终端

您将使用命令行来安装Ruby并运行与开发Ruby应用程序相关的各种命令。命令行是与计算机交互的非图形方式。您可以键入命令作为文本并接收基于文本的反馈,而不是使用鼠标单击按钮。命令行(也称为shell)允许您自动执行每天在计算机上执行的许多任务,并且是软件开发人员必不可少的工具。

要访问命令行界面,您将使用macOS提供的终端应用程序。与任何其他应用程序一样,您可以通过进入Finder,导航到Applications文件夹,然后进入Utilities文件夹找到它。在此处,双击终端应用程序将其打开。或者,您可以通过按住COMMAND键 来使用Spotlight,SPACE然后在出现的框中键入以查找终端。

console.jpg

如果您想熟悉命令行,请查看Linux终端简介。macOS上的命令行界面非常相似,该教程中的概念可直接应用。

现在你已经运行了终端,让我们安装一些我们需要Ruby的先决条件。

第2步 - 安装Xcode的命令行工具

Xcode是一个集成开发环境(IDE),由macOS的软件开发工具组成。你不需要Xcode来编写Ruby程序,但Ruby及其一些组件将依赖于Xcode的Command Line Tools软件包。

在终端中执行此命令以下载并安装这些组件:

xcode-select --install

系统将提示您开始安装,然后再次提示您接受软件许可。然后工具将自动下载并安装。

我们现在准备安装软件包管理器Homebrew,它将允许我们安装最新版本的Ruby。

第3步 - 安装和设置Homebrew

虽然macOS上的命令行界面具有很多在Linux和其他Unix系统中可以找到的功能,但它没有附带一个好的包管理器。一个包管理器是一种软件工具,工作自动完成软件安装,配置和升级的集合。他们将安装的软件保存在一个中心位置,并且可以使用常用的格式维护系统上的所有软件包。Homebrew是一个免费的开源软件包管理系统,可以简化macOS上的软件安装。我们将使用Homebrew安装最新版本的Ruby,然后将我们的系统配置为使用此版本而不是默认情况下macOS使用的Ruby版本。

要安装Homebrew,请在终端窗口中键入以下命令:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew及其安装脚本是用Ruby编写的,我们将使用macOS附带的默认Ruby解释器来安装它。该命令用于curl从GitHub上的Homebrew的Git存储库下载Homebrew安装脚本。

让我们来看看与curl命令相关的标志:

  • -f--fail标志告诉终端窗口不提供服务器错误的HTML文档输出。
  • -s--silent标志静音curl,使其不显示进度表,并与合并-S--show-error标志它将确保curl显示错误消息,如果它失败。
  • -L--location标志会告诉curl来处理重定向。如果服务器报告所请求的页面已移动到其他位置,则它将使用新位置再次自动执行请求。

一旦curl下载该脚本,它再由Ruby解释器执行,开始家酿安装过程。

安装脚本将解释它将执行的操作,并将提示您确认是否要执行此操作。这可以让您在继续操作之前准确了解Homebrew将对您的系统执行的操作。它还可确保您在继续之前具备先决条件。

在此过程中,系统会提示您输入密码。但是,当您键入密码时,您的击键将不会显示在“终端”窗口中。这是一种安全措施,当您在命令行上提示输入密码时,您会经常看到这种情况。即使您没有看到它们,系统也会记录您的击键,因此在RETURN您输入密码后按键。

y每当提示您确认安装时,请按“是” 字母。

安装过程完成后,我们将Homebrew目录用于将其可执行文件存储PATH环境变量的前面。这可确保通过macOS包含的工具调用Homebrew安装。具体来说,当我们使用Homebrew安装Ruby时,这个更改确保我们的系统将运行我们使用Homebrew安装的版本而不是一个macOS包含的版本。

使用以下nano命令使用文本编辑器nano创建或打开~/.bash_profile文件:

nano ~/.bash_profile

在终端窗口中打开文件后,将以下行添加到文件末尾:

# Add Homebrew's executable directory to the front of the PATH
export PATH=/usr/local/bin:$PATH

第一行是注释,可以帮助您记住将来打开此文件时的操作。

要保存更改,请按住CTRL键和字母O,然后在提示时RETURN按键。然后按住CTRL键退出编辑器并按X。这将返回到您的终端提示。

要激活这些更改,请执行以下命令:

source ~/.bash_profile

完成此操作后,您对PATH环境变量所做的更改将生效。当您再次登录时,它们将被正确设置,因为当您打开终端应用程序时.bash_profile文件会自动执行。

现在让我们验证Homebrew是否设置正确。执行以下命令:

brew doctor

如果此时不需要更新,您将在终端中看到:

Your system is ready to brew.

否则,您可能会收到警告以运行另一个命令如brew update,以确保您的Homebrew安装是最新的。

现在已经安装了Homebrew,您可以安装Ruby。

第4步 - 安装Ruby

安装Homebrew后,您可以轻松安装各种软件和开发人员工具。我们将使用它来安装Ruby及其依赖项。

您可以使用Homebrew搜索您可以使用该brew search命令安装的所有内容,但是为了向我们提供更短的列表,让我们搜索与Ruby相关的包:

brew search ruby

您将看到可以安装的软件包列表,如下所示:

chruby
chruby-fish
imessage-ruby
jruby
mruby
rbenv-bundler-ruby-version
ruby
ruby-build
ruby-completion
ruby-install
ruby@1.8
ruby@1.9
ruby@2.0
ruby@2.1
ruby@2.2
ruby@2.3
homebrew/portable/portable-ruby
homebrew/portable/portable-ruby@2.2

Ruby本身将成为列表中的项目之一。让我们继续安装它:

brew install ruby

您将在终端中看到类似于以下内容的输出。Homebrew将安装许多依赖项,但最终将下载并安装Ruby本身:

==> Installing dependencies for ruby: readline, libyaml, openssl
​
...
​
==> Summary
🍺 /usr/local/Cellar/ruby/2.4.1_1: 1,191 files, 15.5MB

除了Ruby之外,Homebrew还安装了一些相关工具,包括irb交互式Ruby控制台和rake这个可以运行称为Rake任务的自动化脚本的程序,还有可以轻松安装和更新您在自己的项目中使用的Ruby库的gem

要检查您安装的Ruby版本,请键入

ruby -v

这将输出当前安装的Ruby的特定版本,默认情况下将是可用的最新稳定版Ruby。

ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin15]

要更新您的Ruby版本,您可以先更新Homebrew以获取最新的软件包列表,然后升级Ruby:

brew update
brew upgrade ruby

现在已经安装了Ruby,让我们编写一个程序来确保一切正常。

第5步 - 创建一个简单的程序

让我们创建一个简单的“Hello,World”程序。这将确保我们的环境正常工作,让您轻松创建和运行Ruby程序。

为此,用nano请创建一个名为hello.rb的新文件:

nano hello.rb

在文件中键入以下代码:

puts "Hello, World!"

按下CTRL+X退出编辑器。然后y在提示保存文件时按。您将返回到提示符。

现在使用以下命令运行程序:

ruby hello.rb

程序执行并将其输出显示在屏幕上:

Hello, World!

这个简单的程序证明您有一个可用的开发环境。您可以使用此环境继续探索Ruby并构建更大,更有趣的项目。

结论

通过本地机器为软件开发做好准备,您可以通过阅读“ 创建您的第一个Ruby程序 ”教程继续学习有关Ruby编码的更多信息。

标签: Ruby

非特殊说明,本博所有文章均为博主原创。

评论啦~