像大多数编程语言一样,Ruby 依赖于广泛的第三方库。

这些库几乎都以 gem 的形式发布,gem 是一个打包好的库或应用程序,可以使用一个名为 RubyGems 的工具来安装。

RubyGems 是一个 Ruby 打包系统,旨在促进库的创建、共享和安装(在某些方面,它是一个类似于 apt-get 的发行版打包系统,但面向 Ruby 软件)。自 1.9 版本起,Ruby 默认附带 RubyGems,之前的 Ruby 版本需要 手动安装 RubyGems。

一些其他库以存档(.zip 或 .tar.gz)格式的源代码目录发布。安装过程可能有所不同,通常会提供 READMEINSTALL 文件,其中包含说明。

让我们来看看如何查找库并安装它们供自己使用。

查找库

托管库的主要场所是 RubyGems.org,这是一个公共的 gem 仓库,可以搜索并安装到您的机器上。您可以通过 RubyGems 网站浏览和搜索 gem,或者使用 gem 命令。

使用 gem search -r,您可以搜索 RubyGems 的仓库。例如,gem search -r rails 将返回一个与 Rails 相关的 gem 列表。使用 --local-l)选项,您将通过已安装的 gem 进行本地搜索。要安装一个 gem,请使用 gem install [gem]。使用 gem list 可以浏览已安装的 gem。关于 gem 命令的更多信息,请参阅下文或访问 RubyGems 文档

不过,还有其他库的来源。 GitHub 是主要的 Ruby 相关内容仓库。通常,一个 gem 的源代码会托管在 GitHub 上,同时作为成熟的 gem 发布到 RubyGems.org。

The Ruby Toolbox 是一个方便探索开源 Ruby 项目的项目。它为各种常见的开发任务提供了分类,收集了项目的大量信息,如发布和提交活动或依赖项,并根据项目在 RubyGems.org 和 GitHub 上的受欢迎程度对项目进行评分。这使得查找解决特定问题(如 Web 框架、文档工具和代码质量库)的 gem 变得容易。

关于 RubyGems 的几点说明

这里对 gem 命令进行一个快速回顾,以供日常使用。 更详细的文档 已提供,涵盖了这个打包系统的所有方面。

搜索可用的 gem

search 命令可用于根据字符串查找 gem。将返回名称以指定字符串开头的 gem 列表。例如,要搜索与“html”相关的 gem

$ gem search -r html

*** REMOTE GEMS ***

html-sample (1.0, 1.1)

--remote / -r 标志表示我们要检查官方的 RubyGems.org 仓库(默认行为)。使用 --local / -l 标志,您将在本地已安装的 gem 中进行搜索。

安装 gem

一旦您知道要安装哪个 gem,例如流行的 Ruby on Rails 框架

$ gem install rails

您甚至可以使用 --version / -v 标志来安装特定版本的库

$ gem install rails --version 5.0

列出所有 gem

要获取本地已安装的所有 gem 的列表

$ gem list

要获取 RubyGems.org 上所有 gem 的(非常长的)列表

$ gem list -r

帮助!

文档可在您的终端中获取

$ gem help

例如,gem help commands 非常有用,因为它会输出 gem 的所有命令列表。

创建您自己的 gem

RubyGems.org 有 关于此主题的几篇指南。您可能还想研究一下 Bundler,这是一个通用的工具,可帮助您管理应用程序的依赖项,并可与 RubyGems 一起使用。