与大多数编程语言一样,Ruby 利用了大量的第三方库。

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

RubyGems 是一个 Ruby 包管理系统,旨在促进库的创建、共享和安装(在某些方面,它是一个类似于 apt-get 的发行版打包系统,但针对 Ruby 软件)。Ruby 从 1.9 版本开始默认包含 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 可以使用 gem list。有关 gem 命令的更多信息,请参见下文或访问 RubyGems 文档

还有其他库来源。 GitHub 是主要的 Ruby 相关内容存储库。通常,gem 源代码将托管在 GitHub 上,同时作为完整的 gem 发布到 RubyGems.org。

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

关于 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 一起使用。