RubyGems 导航菜单
指南

每个 gem 命令的作用以及如何使用它。

此参考是从 RubyGems 版本 3.5.9 自动生成的。

gem build

从 gemspec 构建 gem

用法

gem build GEMSPEC_FILE [options]

选项

  • --platform PLATFORM - 指定要构建的 gem 的平台
  • --force - 跳过规范验证
  • --strict - 在验证规范时将警告视为错误
  • -o, --output FILE - 使用给定文件名输出 gem
  • -C PATH - 就像 gem build 在 而不是当前工作目录中启动一样运行。

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMSPEC_FILE - 要构建 gem 的 gemspec 文件名

描述

build 命令允许您从 ruby gemspec 创建 gem。

构建 gem 的最佳方法是使用 Rakefile 和 Gem::PackageTask,它与 RubyGems 一起提供。

gemspec 可以手动创建,也可以从现有 gem 中提取,方法是使用 gem spec

$ gem unpack my_gem-1.0.gem
Unpacked gem: '.../my_gem-1.0'
$ gem spec my_gem-1.0.gem --ruby > my_gem-1.0/my_gem-1.0.gemspec
$ cd my_gem-1.0
[edit gem contents]
$ gem build my_gem-1.0.gemspec

可以使用 output 选项将 gem 保存到指定的文件名

$ gem build my_gem-1.0.gemspec --output=release.gem

gem cert

管理 RubyGems 证书和签名设置

用法

gem cert [options]

选项

  • -a, --add CERT - 添加受信任的证书。
  • -l, --list [FILTER] - 列出受信任的证书,其中主题包含 FILTER
  • -r, --remove FILTER - 删除受信任的证书,其中主题包含 FILTER
  • -b, --build EMAIL_ADDR - 为 EMAIL_ADDR 生成私钥和自签名证书
  • -C, --certificate CERT - 用于 --sign 的签名证书
  • -K, --private-key KEY - 用于 --sign--build 的密钥
  • -A, --key-algorithm ALGORITHM - 选择用于 --build 的密钥算法
  • -s, --sign CERT - 使用 -K 中的密钥和 -C 中的证书对 CERT 进行签名
  • -d, --days NUMBER_OF_DAYS - 证书过期前的剩余天数
  • -R, --re-sign - 使用 -K 中的密钥对 -C 中的证书重新签名

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

描述

cert 命令用于管理用于创建签名 gem 的签名密钥和证书。您的签名证书和私钥通常分别存储在 ~/.gem/gem-public_cert.pem 和 ~/.gem/gem-private_key.pem 中。

要为签名 gem 生成证书

gem cert --build you@example

如果您已经拥有 RSA 密钥,或者正在为现有密钥创建新的证书

gem cert --build you@example --private-key /path/to/key.pem

如果您希望信任证书,您可以使用以下命令将其添加到信任列表中

gem cert --add /path/to/cert.pem

您可以使用以下命令列出受信任的证书

gem cert --list

gem cert --list cert_subject_substring

如果您希望删除之前受信任的证书

gem cert --remove cert_subject_substring

要签名其他 gem 作者的证书

gem cert --sign /path/to/other_cert.pem

有关签名 gem 的更多信息,请参阅 ri Gem::Security

gem check

检查 gem 存储库中添加或缺少的文件

用法

gem check [OPTIONS] [GEMNAME ...] [options]

选项

  • -a, --[no-]alien - 报告 gem 存储库中“未管理”或不规则的文件
  • --[no-]doctor - 清理未安装的 gem 和损坏的规范
  • --[no-]dry-run - 不删除文件,只报告将要删除的内容
  • --[no-]gems - 检查已安装的 gem 是否存在问题
  • -v, --version VERSION - 指定要检查的 gem 版本

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要检查的 gem 的名称

描述

check 命令可以列出和修复已安装的 gem 和规范中的问题,并清理已部分卸载的 gem。

gem cleanup

清理已安装 gem 的旧版本

用法

gem cleanup [GEMNAME ...] [options]

选项

  • -n, -d, --dry-run - 不卸载 gem
  • -D, --[no-]check-development - 卸载时检查开发依赖项(默认:true)
  • --[no-]user-install - 在用户主目录中清理,而不是 GEM_HOME。

已弃用选项

  • --dryrun - 不卸载 gem

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要清理的 gem 的名称

描述

清理命令会从 GEM_HOME 中删除不满足依赖关系的旧版本 gem。如果 gem 安装在 GEM_PATH 中的其他位置,清理命令不会删除它。

如果没有指定 gem,则会清理 GEM_HOME 中的所有 gem。

gem contents

显示已安装 gem 的内容

用法

gem contents GEMNAME [GEMNAME ...] [options]

选项

  • -v, --version VERSION - 指定要查看内容的 gem 版本
  • --all - 所有 gem 的内容
  • -s, --spec-dir a,b,c - 在特定路径下搜索 gem
  • -l, --[no-]lib-only - 仅返回 Gem 的 lib_dirs 中的文件
  • --[no-]prefix - 不包含已安装的路径前缀
  • --[no-]show-install-dir - 仅显示 gem 安装目录

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要列出内容的 gem 的名称

描述

contents 命令列出已安装 gem 中的文件。列表可以是完整的文件名、不带已安装目录前缀的文件名,或者仅是可 require 的文件。

gem dependency

显示已安装 gem 的依赖项

用法

gem dependency REGEXP [options]

选项

  • -v, --version VERSION - 指定要查看依赖项的 gem 版本
  • --platform PLATFORM - 指定要查看依赖项的 gem 平台
  • --[no-]prerelease - 允许 gem 的预发布版本
  • -R, --[no-]reverse-dependencies - 在输出中包含反向依赖项
  • --pipe - 管道格式(名称 --version 版本)

已弃用选项

  • -u, --[no-]update-sources - 更新本地源缓存

本地/远程选项

  • -l, --local - 将操作限制在本地域
  • -r, --remote - 将操作限制在远程域
  • -b, --both - 允许本地和远程操作
  • -B, --bulk-threshold COUNT - 切换到批量同步的阈值(默认 1000)
  • --clear-sources - 清除 gem 源
  • -s, --source URL - 将 URL 追加到远程 gem 源列表
  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • REGEXP - 显示名称以 REGEXP 开头的 gem 的依赖项

描述

依赖项命令列出给定 gem 依赖于哪些其他 gem。对于本地 gem,只能显示反向依赖项(哪些 gem 依赖于指定的 gem)。

依赖项列表可以以适合管道传输的格式显示,以便与其他命令一起使用。

gem environment

显示有关 RubyGems 环境的信息

用法

gem environment [arg] [options]

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • home - 显示安装 gem 的路径。别名:gemhome、gemdir、GEM_HOME
  • path - 显示用于搜索 gem 的路径。别名:gempath、GEM_PATH
  • user_gemhome - 显示在给出 --user-install 时安装 gem 的路径。别名:user_gemdir
  • version - 显示 gem 格式版本
  • remotesources - 显示远程 gem 服务器
  • platform - 显示支持的 gem 平台
  • <省略> - 显示所有内容

描述

environment 命令允许您查询 rubygems 以获取其配置,以便在 shell 脚本中使用或作为调试工具。

RubyGems 环境可以通过命令行参数、gemrc 文件、环境变量和内置默认值来控制。

命令行参数默认值和一些 RubyGems 默认值可以在 ~/.gemrc 文件中为单个用户设置,也可以在 SYSTEM CONFIGURATION DIRECTORY 中的 gemrc 文件中为所有用户设置。这些文件是 YAML 文件,具有以下 YAML 键

:sources: A YAML array of remote gem repositories to install gems from
:verbose: Verbosity of the gem command. false, true, and :really are the
          levels
:update_sources: Enable/disable automatic updating of repository metadata
:backtrace: Print backtrace when RubyGems encounters an error
:gempath: The paths in which to look for gems
:disable_default_gem_server: Force specification of gem server host on push
<gem_command>: A string containing arguments for the specified gem command

示例

:verbose: false
install: --no-wrappers
update: --no-wrappers
:disable_default_gem_server: true

RubyGems 的默认本地存储库可以使用 GEM_PATH 和 GEM_HOME 环境变量覆盖。GEM_HOME 将默认存储库设置为安装到的位置。GEM_PATH 允许搜索多个本地存储库以查找 gem。

如果您在代理服务器后面,RubyGems 使用 HTTP_PROXY、HTTP_PROXY_USER 和 HTTP_PROXY_PASS 环境变量来发现代理服务器。

如果您想将 gem 推送到私有 gem 服务器,可以将 RUBYGEMS_HOST 环境变量设置为该服务器的 URI。

如果您正在打包 RubyGems,所有 RubyGems 的默认值都在 lib/rubygems/defaults.rb 中。您可以在 lib/rubygems/defaults/operating_system.rb 中覆盖这些默认值。

gem exec

从 gem 运行命令

用法

gem exec [options --] COMMAND [args] [options]

选项

  • -v, --version VERSION - 指定要执行的 gem 的版本
  • --[no-]prerelease - 允许安装宝石的预发布版本
  • -g, --gem GEM - 运行给定宝石中的可执行文件

安装/更新选项

  • --conservative 优先选择最近安装的版本,而不是最新版本

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • COMMAND - 要运行的可执行命令

描述

exec 命令负责安装(如果需要)并运行宝石中的可执行文件,无论该宝石当前是否已安装。

exec 命令可以看作是运行 gem install 然后运行已安装宝石中的可执行文件的快捷方式。

例如,gem exec rails new . 将在当前目录中运行 rails new .,无需手动运行 gem install rails。此外,exec 命令确保使用宝石的最新版本(除非使用 --conservative 运行),并且宝石不会安装到与用户安装的宝石相同的宝石路径。

gem fetch

下载宝石并将其放置在当前目录中

用法

gem fetch GEMNAME [GEMNAME ...] [options]

选项

  • -v, --version VERSION - 指定要获取的宝石版本
  • --platform PLATFORM - 指定要获取的宝石平台
  • --[no-]prerelease - 允许 gem 的预发布版本
  • --[no-]suggestions - 当宝石未找到时建议替代方案

本地/远程选项

  • -B, --bulk-threshold COUNT - 切换到批量同步的阈值(默认 1000)
  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理
  • -s, --source URL - 将 URL 追加到远程 gem 源列表
  • --clear-sources - 清除 gem 源

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要下载的宝石名称

描述

fetch 命令获取宝石文件,这些文件可以存储以备后用或解压缩以检查其内容。

有关解压缩宝石、修改它然后重新打包它的示例,请参阅 build 命令帮助。

gem generate_index

为宝石服务器目录生成索引文件(需要 rubygems-generate_index)

用法

gem generate_index [options]

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

描述

generate_index 命令已移至 rubygems-generate_index 宝石。

gem help

提供有关“gem”命令的帮助

用法

gem help ARGUMENT [options]

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

gem info

显示给定宝石的信息

用法

gem info GEMNAME [options]

选项

  • -i, --[no-]installed - 检查已安装的宝石
  • -I - 等效于 --no-installed
  • -v, --version VERSION - 指定要与 --installed 一起使用的宝石版本
  • --[no-]versions - 仅显示宝石名称
  • -a, --all - 显示所有 gem 版本
  • -e, --exact - 查询 gem 的名称,匹配提供的字符串
  • --[no-]prerelease - 显示预发布版本

已弃用选项

  • -u, --[no-]update-sources - 更新本地源缓存

本地/远程选项

  • -l, --local - 将操作限制在本地域
  • -r, --remote - 将操作限制在远程域
  • -b, --both - 允许本地和远程操作
  • -B, --bulk-threshold COUNT - 切换到批量同步的阈值(默认 1000)
  • --clear-sources - 清除 gem 源
  • -s, --source URL - 将 URL 追加到远程 gem 源列表
  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要打印信息的 gem 的名称

描述

Info 打印有关 gem 的信息,例如名称、描述、网站、许可证和安装路径

gem install

将 gem 安装到本地存储库

用法

gem install [options] GEMNAME [GEMNAME ...] -- --build-flags [options]

选项

  • --platform PLATFORM - 指定要安装的 gem 的平台
  • -v, --version VERSION - 指定要安装的 gem 的版本
  • --[no-]prerelease - 允许安装 gem 的预发布版本。(仅适用于列出的 gem)

已弃用选项

  • -u, --[no-]update-sources - 更新本地源缓存

安装/更新选项

  • -i, --install-dir DIR - 获取已安装 gem 的 gem 存储库目录
  • -n, --bindir DIR - 安装 gem 时放置可执行文件的目录
  • --document [TYPES] - 为已安装的 gem 生成文档 列出您希望生成的文档类型。例如:rdoc、ri
  • --build-root DIR - 临时安装根目录。对于构建包很有用。在安装远程 gem 时不要使用此选项。
  • --vendor - 将 gem 安装到供应商目录。仅供 gem 重新打包者使用。
  • -N, --no-document - 禁用文档生成
  • -E, --[no-]env-shebang - 将已安装脚本上的 shebang 行重写为使用 /usr/bin/env
  • -f, --[no-]force - 强制安装 gem,绕过依赖项检查
  • -w, --[no-]wrappers - 为可执行文件使用 bin 包装器 在 dosish 平台上不可用
  • -P, --trust-policy POLICY - 指定 gem 信任策略
  • --ignore-dependencies - 不要安装任何必需的依赖 gem
  • --[no-]format-executable - 使已安装的可执行文件名称与 Ruby 匹配。如果 Ruby 是 ruby18,则 foo_exec 将为 foo_exec18
  • --[no-]user-install - 将安装在用户的家目录中,而不是 GEM_HOME。
  • --development - 安装额外的开发依赖项
  • --development-all - 安装所有 gem 的开发依赖项(包括开发依赖项本身)
  • --conservative - 不尝试升级已经满足版本要求的 gem
  • --[no-]minimal-deps - 不升级任何已经满足版本要求的依赖项
  • --[no-]post-install-message - 打印安装后消息
  • -g, --file [FILE] - 从 gem 依赖项 API 文件中读取并安装列出的 gem
  • --without GROUPS - 从 gem 依赖项文件中安装时,省略指定的组(用逗号分隔)
  • --default - 将 gem 的完整规范添加到 specifications/default 中,并仅提取其 bin
  • --explain - 而不是安装 gem,指示将要安装哪些 gem
  • --[no-]lock - 创建一个锁定文件(与 -g/--file 一起使用时)
  • --[no-]suggestions - 当宝石未找到时建议替代方案

本地/远程选项

  • -l, --local - 将操作限制在本地域
  • -r, --remote - 将操作限制在远程域
  • -b, --both - 允许本地和远程操作
  • -B, --bulk-threshold COUNT - 切换到批量同步的阈值(默认 1000)
  • --clear-sources - 清除 gem 源
  • -s, --source URL - 将 URL 追加到远程 gem 源列表
  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要安装的 gem 的名称

描述

install 命令将本地或远程 gem 安装到 gem 存储库中。

对于具有可执行文件的 gem,ruby 默认情况下会将一个包装器文件安装到可执行文件目录中。这可以通过 –no-wrappers 选项覆盖。包装器允许您使用 version 在不同的 gem 版本之间进行选择。

例如,rake _0.7.3_ --version 将运行 rake 版本 0.7.3,即使安装了更新的版本。

Gem 依赖项文件

RubyGems 可以使用 gem install -g 在多个环境中安装一致的 gem 集,前提是存在 gem 依赖项文件(gem.deps.rb、Gemfile 或 Isolate)。如果没有给出显式文件,RubyGems 会尝试在当前目录中找到一个。

当 RUBYGEMS_GEMDEPS 环境变量设置为 gem 依赖项文件时,来自该文件中的 gem 将在启动时被激活。将其设置为特定文件名或设置为“-”,以便 RubyGems 通过从当前目录向上遍历自动发现 gem 依赖项文件。

注意:在多用户系统上启用自动发现会导致在您无法控制的目录中使用时执行任意代码。

扩展安装失败

如果扩展在 gem 安装期间无法编译,则不会写入 gem 规范,但 gem 仍保留在存储库中解压缩。您可能需要指定库头文件和库的路径才能继续。您可以通过在 RubyGems 的选项和扩展的构建选项之间添加一个 – 来做到这一点。

$ gem install some_extension_gem
[build fails]
Gem files will remain installed in \
/path/to/gems/some_extension_gem-1.0 for inspection.
Results logged to /path/to/gems/some_extension_gem-1.0/gem_make.out
$ gem install some_extension_gem -- --with-extension-lib=/path/to/lib
[build succeeds]
$ gem list some_extension_gem

*** LOCAL GEMS ***

some_extension_gem (1.0)
$

如果您通过编辑 gem 文件来纠正编译错误,则需要手动编写规范。例如

$ gem install some_extension_gem
[build fails]
Gem files will remain installed in \
/path/to/gems/some_extension_gem-1.0 for inspection.
Results logged to /path/to/gems/some_extension_gem-1.0/gem_make.out
$ [cd /path/to/gems/some_extension_gem-1.0]
$ [edit files or what-have-you and run make]
$ gem spec ../../cache/some_extension_gem-1.0.gem --ruby > \
           ../../specifications/some_extension_gem-1.0.gemspec
$ gem list some_extension_gem

*** LOCAL GEMS ***

some_extension_gem (1.0)
$

命令别名

您可以使用 i 命令代替 install

$ gem i GEMNAME

gem list

显示名称匹配 REGEXP 的本地 gem

用法

gem list [REGEXP ...] [options]

选项

  • -i, --[no-]installed - 检查已安装的宝石
  • -I - 等效于 --no-installed
  • -v, --version VERSION - 指定要列出的 gem 版本,用于 --installed
  • -d, --[no-]details - 显示 gem 的详细信息
  • --[no-]versions - 仅显示宝石名称
  • -a, --all - 显示所有 gem 版本
  • -e, --exact - 查询 gem 的名称,匹配提供的字符串
  • --[no-]prerelease - 显示预发布版本

已弃用选项

  • -u, --[no-]update-sources - 更新本地源缓存

本地/远程选项

  • -l, --local - 将操作限制在本地域
  • -r, --remote - 将操作限制在远程域
  • -b, --both - 允许本地和远程操作
  • -B, --bulk-threshold COUNT - 切换到批量同步的阈值(默认 1000)
  • --clear-sources - 清除 gem 源
  • -s, --source URL - 将 URL 追加到远程 gem 源列表
  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • REGEXP - 在 gem 名称中查找的正则表达式

描述

list 命令用于查看您在本地安装的 gem。

–details 选项显示其他详细信息,包括摘要、主页、作者、不同 gem 版本的位置。

要搜索远程 gem,请使用 search 命令。

gem lock

生成 gem 的锁定列表

用法

gem lock GEMNAME-VERSION [GEMNAME-VERSION ...] [options]

选项

  • -s, --[no-]strict - 如果无法满足依赖项,则失败

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要锁定的 gem 的名称
  • VERSION - 要锁定的 gem 的版本

描述

lock 命令将生成一个 +gem+ 语句列表,这些语句将锁定命令行中给定 gem 的版本。它将在需求列表中指定确切的版本,以确保加载的 gem 始终一致。将生成所有受影响 gem 的完整递归搜索。

示例

gem lock rails-1.0.0 > lockdown.rb

将生成 lockdown.rb

require "rubygems"
gem 'rails', '= 1.0.0'
gem 'rake', '= 0.7.0.1'
gem 'activesupport', '= 1.2.5'
gem 'activerecord', '= 1.13.2'
gem 'actionpack', '= 1.11.2'
gem 'actionmailer', '= 1.1.5'
gem 'actionwebservice', '= 1.0.0'

只需从您的应用程序加载 lockdown.rb 即可确保加载当前版本。确保在任何其他 require 语句之前加载 lockdown.rb。

请注意,rails 1.0.0 仅要求使用 rake 0.6.2 或更高版本。Rake-0.7.0.1 是安装的最新版本,满足该要求,因此我们将它锁定到确切的版本。

gem mirror

镜像所有 gem 文件(需要 rubygems-mirror)

用法

gem mirror [options]

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

描述

mirror 命令已移至 rubygems-mirror gem。

gem open

在编辑器中打开 gem 源

用法

gem open [-e COMMAND] GEMNAME [options]

选项

  • -e, --editor COMMAND - 在 gem 路径前添加 COMMAND。可用于指定编辑器。
  • -v, --version VERSION - 打开特定 gem 版本

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要在编辑器中打开的 gem 的名称

描述

      The open command opens gem in editor and changes current path
      to gem's source directory.
      Editor command can be specified with -e option, otherwise rubygems
      will look for editor in $EDITOR, $VISUAL and $GEM_EDITOR variables.

gem outdated

显示所有需要更新的 gem

用法

gem outdated [options]

选项

  • --platform PLATFORM - 指定要过时的 gem 的平台

已弃用选项

  • -u, --[no-]update-sources - 更新本地源缓存

本地/远程选项

  • -l, --local - 将操作限制在本地域
  • -r, --remote - 将操作限制在远程域
  • -b, --both - 允许本地和远程操作
  • -B, --bulk-threshold COUNT - 切换到批量同步的阈值(默认 1000)
  • --clear-sources - 清除 gem 源
  • -s, --source URL - 将 URL 追加到远程 gem 源列表
  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

描述

outdated 命令列出您可能希望升级到更新版本的 gem。

您可以使用 dependency 命令检查依赖项不匹配,并使用 update 或 install 命令更新 gem。

gem owner

在推送服务器上管理宝石的所有者

用法

gem owner GEM [options]

选项

  • -k, --key KEYNAME - 使用给定的 API 密钥,来自 ~/.local/share/gem/credentials
  • --otp CODE - 多因素身份验证的数字代码,您也可以使用环境变量 GEM_HOST_OTP_CODE
  • -a, --add NEW_OWNER - 通过用户标识添加所有者
  • -r, --remove OLD_OWNER - 通过用户标识删除所有者
  • --host HOST - 使用另一个与 gemcutter 兼容的主机(例如 http://rubygems.org.cn)

本地/远程选项

  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEM - 要管理所有者的宝石

描述

owner 命令允许您在推送服务器上添加和删除宝石的所有者(默认值为 http://rubygems.org.cn)。如果多次给出标志,则可以同时添加或删除多个所有者。

支持的用户标识取决于推送服务器。对于 rubygems.org,电子邮件和句柄都受支持,即使用户标识字段称为“电子邮件”。

宝石的所有者有权推送新版本、撤回现有版本或编辑宝石的 HTML 页面。请谨慎选择授予推送权限的人员。

gem pristine

将已安装的宝石恢复到原始状态,这些文件位于宝石缓存中

用法

gem pristine [GEMNAME ...] [options]

选项

  • --all - 将所有已安装的宝石恢复到原始状态
  • --skip=gem_name - 用于 --all,如果名称 == gem_name,则跳过
  • --[no-]extensions - 除了常规宝石之外,还恢复带有扩展名的宝石
  • --only-missing-extensions - 仅恢复缺少扩展名的宝石
  • --only-executables - 仅恢复可执行文件
  • --only-plugins - 仅恢复插件
  • -E, --[no-]env-shebang - 使用 /usr/bin/env 的 shebang 重新编写可执行文件
  • -i, --install-dir DIR - 获取 binstubs 和插件安装的宝石存储库
  • -n, --bindir DIR - 可执行文件所在的目录
  • -v, --version VERSION - 指定要恢复到原始状态的宝石版本

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要恢复到原始状态的宝石(除非 –all)

描述

pristine 命令会将已安装的 gem 与其缓存的 .gem 文件的内容进行比较,并恢复与缓存的 .gem 文件副本不匹配的任何文件。

如果您对已安装的 gem 进行了修改,pristine 命令将恢复这些修改。在检查修改后,将重建所有扩展,并重新生成 gem 的所有 bin 存根。

如果找不到缓存的 gem,它将被下载。

如果提供了 --no-extensions,pristine 将不会尝试恢复带有扩展的 gem。

如果提供了 --extensions(但没有提供 --all 或 gem 名称),则只会恢复带有扩展的 gem。

gem push

将 gem 推送到 gem 服务器

用法

gem push GEM [options]

选项

  • -k, --key KEYNAME - 使用给定的 API 密钥,来自 ~/.local/share/gem/credentials
  • --otp CODE - 多因素身份验证的数字代码,您也可以使用环境变量 GEM_HOST_OTP_CODE
  • --host HOST - 推送到另一个与 gemcutter 兼容的主机(例如 http://rubygems.org.cn)

本地/远程选项

  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEM - 要推送的已构建 gem

描述

push 命令将 gem 上传到推送服务器(默认值为 http://rubygems.org.cn)并将其添加到索引中。

可以使用 yank 命令从索引中删除 gem 并从服务器中删除 gem。有关更详细的讨论,请参阅 yank 命令的帮助信息。

push 命令将使用 ~/.gem/credentials 对服务器进行身份验证,但您可以使用 RubyGems 环境变量 GEM_HOST_API_KEY 设置 API 密钥以进行身份验证。

gem query

查询本地或远程存储库中的 gem 信息

用法

gem query [options]

选项

  • -n, --name-matches REGEXP - 要查询的 gem 的名称与提供的 REGEXP 匹配
  • -i, --[no-]installed - 检查已安装的宝石
  • -I - 等效于 --no-installed
  • -v, --version VERSION - 指定要查询的 gem 版本,与 --installed 一起使用
  • -d, --[no-]details - 显示 gem 的详细信息
  • --[no-]versions - 仅显示宝石名称
  • -a, --all - 显示所有 gem 版本
  • -e, --exact - 查询 gem 的名称,匹配提供的字符串
  • --[no-]prerelease - 显示预发布版本

已弃用选项

  • -u, --[no-]update-sources - 更新本地源缓存

本地/远程选项

  • -l, --local - 将操作限制在本地域
  • -r, --remote - 将操作限制在远程域
  • -b, --both - 允许本地和远程操作
  • -B, --bulk-threshold COUNT - 切换到批量同步的阈值(默认 1000)
  • --clear-sources - 清除 gem 源
  • -s, --source URL - 将 URL 追加到远程 gem 源列表
  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

描述

query 命令是 list 和 search 命令的基础。

您应该真正使用 list 和 search 命令,而不是这个命令。这个命令太难用了。

gem rdoc

为预安装的 gem 生成 RDoc

用法

gem rdoc [args] [options]

选项

  • --all - 为所有已安装的 gem 生成 RDoc/RI 文档
  • --[no-]rdoc - 生成 RDoc HTML
  • --[no-]ri - 生成 RI 数据
  • --[no-]overwrite - 覆盖已安装的文档
  • -v, --version VERSION - 指定要生成 rdoc 的 gem 版本

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要生成文档的 gem(除非使用 –all)

描述

rdoc 命令用于构建已安装 gem 的文档。默认情况下,仅使用 rdoc 构建文档,但可以通过 rubygems 插件和 Gem.post_installs 钩子构建其他类型的文档。

使用 –overwrite 强制重建文档。

gem rebuild

尝试重现 gem 的构建。

用法

gem rebuild GEM_NAME GEM_VERSION [options]

选项

  • --diff - 如果文件不匹配,则使用 diffoscope 进行比较。
  • --force - 跳过规范验证。
  • --strict - 在验证规范时将警告视为错误。
  • --source GEM_SOURCE - 指定从哪个源下载 gem。
  • --original GEM_FILE - 指定要比较的本地文件(而不是下载它)。
  • --gemspec GEMSPEC_FILE - 指定 gemspec 文件的名称。
  • -C PATH - 就像 gem build 在 而不是当前工作目录中启动一样运行。

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEM_NAME - gem 服务器上的 gem 名称
  • GEM_VERSION - 您尝试重建的 gem 版本

描述

rebuild 命令允许您(尝试)从 ruby gemspec 重现 gem 的构建。

此命令假设 gemspec 可以使用 gem build 命令构建。如果您在 gem 的构建/发布过程中使用任何 gem buildrake buildrake release,它就是一个潜在的候选者。

您需要匹配使用的 RubyGems 版本,因为这包含在 Gem 元数据中。

如果 gem 包含锁定文件(例如 Gemfile.lock)等,则需要更多努力才能重现构建。例如,它可能需要更精确地匹配使用的 Ruby 和/或 Bundler 版本。

显示名称与 REGEXP 匹配的远程 gem

用法

gem search [REGEXP] [options]

选项

  • -i, --[no-]installed - 检查已安装的宝石
  • -I - 等效于 --no-installed
  • -v, --version VERSION - 指定要搜索的 gem 版本,用于 --installed
  • -d, --[no-]details - 显示 gem 的详细信息
  • --[no-]versions - 仅显示宝石名称
  • -a, --all - 显示所有 gem 版本
  • -e, --exact - 查询 gem 的名称,匹配提供的字符串
  • --[no-]prerelease - 显示预发布版本

已弃用选项

  • -u, --[no-]update-sources - 更新本地源缓存

本地/远程选项

  • -l, --local - 将操作限制在本地域
  • -r, --remote - 将操作限制在远程域
  • -b, --both - 允许本地和远程操作
  • -B, --bulk-threshold COUNT - 切换到批量同步的阈值(默认 1000)
  • --clear-sources - 清除 gem 源
  • -s, --source URL - 将 URL 追加到远程 gem 源列表
  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • REGEXP - 在 gem 名称中搜索的正则表达式

描述

search 命令显示名称与给定正则表达式匹配的远程 gem。

–details 选项显示 gem 的更多详细信息,但完成时间会稍长,因为它必须从索引中单独下载信息。

要列出本地 gems,请使用 list 命令。

gem server

启动一个 web 服务器,用于托管 RDoc(需要 rubygems-server)。

用法

gem server [options]

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

描述

server 命令已移至 rubygems-server gem。

gem signin

登录到任何与 gemcutter 兼容的主机。默认情况下为 http://rubygems.org.cn。

用法

gem signin [options]

选项

  • --host HOST - 推送到另一个与 gemcutter 兼容的主机
  • --otp CODE - 多因素身份验证的数字代码,您也可以使用环境变量 GEM_HOST_OTP_CODE

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

描述

signin 命令执行主机登录以用于推送服务器(默认情况下为 http://rubygems.org.cn)。主机可以通过 host 标志提供,也可以从提供的 gem 推断出来。主机解析与推送命令的解析策略匹配。

gem signout

从所有当前会话中注销。

用法

gem signout [options]

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

描述

signout 命令用于从所有当前会话中注销,允许您使用不同的凭据登录。

gem sources

管理 RubyGems 用于搜索 gem 的源和缓存文件。

用法

gem sources [options]

选项

  • -a, --add SOURCE_URI - 添加源
  • -l, --list - 列出源
  • -r, --remove SOURCE_URI - 删除源
  • -c, --clear-all - 删除所有源(清除缓存)
  • -u, --update - 更新源缓存
  • -f, --[no-]force - 不显示任何确认提示,并表现得好像始终回答“是”

本地/远程选项

  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

描述

RubyGems 从您配置的源(存储在您的 ~/.gemrc 中)获取 gem。

默认源是 http://rubygems.org.cn,但您可能配置了其他源。本指南将帮助您更新您的源或配置自己以使用您自己的 gem 服务器。

没有任何参数,sources 会列出您当前配置的源。

$ gem sources
*** CURRENT SOURCES ***

http://rubygems.org.cn

这可能会列出多个源或非 rubygems 源。您可能之前配置过它们,或者有一个旧的 ~/.gemrc。如果您有无法识别的源,您应该删除它们。

RubyGems 已配置为通过以下 URL 在其历史记录中提供 gem。

  • http://gems.rubyforge.org (RubyGems 1.3.5 及更早版本)
  • http://rubygems.org.cn (RubyGems 1.3.6 到 1.8.30,以及 2.0.0)
  • http://rubygems.org.cn (RubyGems 2.0.1 及更新版本)

由于所有这些源都指向同一组 gems,因此您只需要在列表中包含其中一个。http://rubygems.org.cn 是推荐的,因为它为 gem 下载提供了 SSL 连接的保护。

要添加源,请使用 –add 参数

  $ gem sources --add http://rubygems.org.cn
  http://rubygems.org.cn added to sources

RubyGems 会检查是否可以从给定的源安装 gems,然后再将其添加。

要删除源,请使用 –remove 参数

  $ gem sources --remove http://rubygems.org.cn/
  http://rubygems.org.cn/ removed from sources

gem specification

显示 gem 规范(以 yaml 格式)

用法

gem specification [GEMFILE] [FIELD] [options]

选项

  • -v, --version VERSION - 指定要检查的 gem 版本
  • --platform PLATFORM - 指定 gem 的平台规范
  • --[no-]prerelease - 允许 gem 的预发布版本
  • --all - 输出 gem 所有版本的规范
  • --ruby - 输出 ruby 格式
  • --yaml - 输出 YAML 格式
  • --marshal - 输出 Marshal 格式

已弃用选项

  • -u, --[no-]update-sources - 更新本地源缓存

本地/远程选项

  • -l, --local - 将操作限制在本地域
  • -r, --remote - 将操作限制在远程域
  • -b, --both - 允许本地和远程操作
  • -B, --bulk-threshold COUNT - 切换到批量同步的阈值(默认 1000)
  • --clear-sources - 清除 gem 源
  • -s, --source URL - 将 URL 追加到远程 gem 源列表
  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMFILE - 要显示 gemspec 的 gem 名称
  • FIELD - 要显示的 gemspec 字段名称

描述

specification 命令允许您从 gem 中提取规范以供检查。

规范可以以 YAML、ruby 或 Marshal 格式输出。

规范中的特定字段可以以 YAML 格式提取

$ gem spec rake summary
--- Ruby based make-like utility.
...

gem stale

列出 gems 及其访问时间

用法

gem stale [options]

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

描述

stale 命令列出已安装 gems 中所有文件的最新访问时间。

您可以使用此命令来发现不再使用的 gems 和 gem 版本。

gem uninstall

从本地存储库中卸载 gems

用法

gem uninstall GEMNAME [GEMNAME ...] [options]

选项

  • -a, --[no-]all - 卸载所有匹配的版本
  • -I, --[no-]ignore-dependencies - 卸载时忽略依赖项要求
  • -D, --[no-]check-development - 卸载时检查开发依赖项(默认:false)
  • -x, --[no-]executables - 在不确认的情况下卸载适用的可执行文件
  • -i, --install-dir DIR - 从中卸载 gem 的目录
  • -n, --bindir DIR - 要从中删除可执行文件的目录
  • --[no-]user-install - 除了 GEM_HOME 之外,还从用户的 home 目录中卸载。
  • --[no-]format-executable - 假设可执行文件名称与 Ruby 的前缀和后缀匹配。
  • --[no-]force - 卸载所有版本的命名 gems,忽略依赖项
  • --[no-]abort-on-dependent - 阻止卸载其他 gems 依赖的 gems。
  • -v, --version VERSION - 指定要卸载的 gem 版本
  • --platform PLATFORM - 指定要卸载的 gem 平台
  • --vendor - 从供应商目录卸载 gem。仅供 gem 打包者使用。

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要卸载的 gem 的名称

描述

uninstall 命令会删除之前安装的 gem。

如果您尝试卸载依赖于现有 gem 的 gem,RubyGems 会要求确认。您可以使用 –ignore-dependencies 选项跳过此检查。

gem unpack

将已安装的 gem 解压缩到当前目录

用法

gem unpack GEMNAME [options]

选项

  • --target=DIR - 解压缩的目标目录
  • --spec - 解压缩 gem 规范
  • -v, --version VERSION - 指定要解压缩的 gem 版本

安装/更新选项

  • -P, --trust-policy POLICY - 指定 gem 信任策略

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要解压缩的 gem 的名称

描述

unpack 命令允许您检查 gem 的内容或修改它们以帮助诊断错误。

您可以使用 RUBYLIB 环境变量或 -I 将解压缩的 gem 的内容添加到加载路径。

$ gem unpack my_gem
Unpacked gem: '.../my_gem-1.0'
[edit my_gem-1.0/lib/my_gem.rb]
$ ruby -Imy_gem-1.0/lib -S other_program

您可以使用 build 命令重新打包解压缩的 gem。有关示例,请参阅 build 命令帮助。

gem update

将已安装的 gem 更新到最新版本

用法

gem update GEMNAME [GEMNAME ...] [options]

选项

  • --system [VERSION] - 更新 RubyGems 系统软件
  • --platform PLATFORM - 指定要更新的 gem 平台
  • --[no-]prerelease - 允许 gem 的预发布版本作为更新目标

已弃用选项

  • -u, --[no-]update-sources - 更新本地源缓存

安装/更新选项

  • -i, --install-dir DIR - 获取已安装 gem 的 gem 存储库目录
  • -n, --bindir DIR - 安装 gem 时放置可执行文件的目录
  • --document [TYPES] - 为已安装的 gem 生成文档 列出您希望生成的文档类型。例如:rdoc、ri
  • --build-root DIR - 临时安装根目录。对于构建包很有用。在安装远程 gem 时不要使用此选项。
  • --vendor - 将 gem 安装到供应商目录。仅供 gem 重新打包者使用。
  • -N, --no-document - 禁用文档生成
  • -E, --[no-]env-shebang - 将已安装脚本上的 shebang 行重写为使用 /usr/bin/env
  • -f, --[no-]force - 强制安装 gem,绕过依赖项检查
  • -w, --[no-]wrappers - 为可执行文件使用 bin 包装器 在 dosish 平台上不可用
  • -P, --trust-policy POLICY - 指定 gem 信任策略
  • --ignore-dependencies - 不要安装任何必需的依赖 gem
  • --[no-]format-executable - 使已安装的可执行文件名称与 Ruby 匹配。如果 Ruby 是 ruby18,则 foo_exec 将为 foo_exec18
  • --[no-]user-install - 将安装在用户的家目录中,而不是 GEM_HOME。
  • --development - 安装额外的开发依赖项
  • --development-all - 安装所有 gem 的开发依赖项(包括开发依赖项本身)
  • --conservative - 不尝试升级已经满足版本要求的 gem
  • --[no-]minimal-deps - 不升级任何已经满足版本要求的依赖项
  • --[no-]post-install-message - 打印安装后消息
  • -g, --file [FILE] - 从 gem 依赖项 API 文件中读取并安装列出的 gem
  • --without GROUPS - 从 gem 依赖项文件中安装时,省略指定的组(用逗号分隔)
  • --default - 将 gem 的完整规范添加到 specifications/default 中,并仅提取其 bin
  • --explain - 而不是安装 gem,指示将要安装哪些 gem
  • --[no-]lock - 创建一个锁定文件(与 -g/--file 一起使用时)
  • --[no-]suggestions - 当宝石未找到时建议替代方案

本地/远程选项

  • -l, --local - 将操作限制在本地域
  • -r, --remote - 将操作限制在远程域
  • -b, --both - 允许本地和远程操作
  • -B, --bulk-threshold COUNT - 切换到批量同步的阈值(默认 1000)
  • --clear-sources - 清除 gem 源
  • -s, --source URL - 将 URL 追加到远程 gem 源列表
  • -p, --[no-]http-proxy [URL] - 对远程操作使用 HTTP 代理

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEMNAME - 要更新的 gem 的名称

描述

update 命令会将您的 gem 更新到最新版本。

update 命令不会删除以前的版本。使用 cleanup 命令删除旧版本。

gem which

查找您可以要求的库文件的位置

用法

gem which FILE [FILE ...] [options]

选项

  • -a, --[no-]all - 显示所有匹配的文件
  • -g, --[no-]gems-first - 在非 gem 之前搜索 gem

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • FILE - 要查找的文件的名称

描述

which 命令类似于 shell which 命令,它会显示您要要求的文件所在的位置。

您可以使用 which 命令来帮助确定为什么您要求了您没有预期的版本,或者查看您要求的文件的内容以查看为什么它没有按预期执行。

gem yank

从索引中移除一个已推送的 gem

用法

gem yank -v VERSION [-p PLATFORM] [--key KEY_NAME] [--host HOST] GEM [options]

选项

  • -v, --version VERSION - 指定要移除的 gem 版本
  • --platform PLATFORM - 指定要移除的 gem 平台
  • --otp CODE - 多因素身份验证的数字代码,您也可以使用环境变量 GEM_HOST_OTP_CODE
  • --host HOST - 从另一个兼容 gemcutter 的主机拉取(例如 http://rubygems.org.cn)
  • -k, --key KEYNAME - 使用给定的 API 密钥,来自 ~/.local/share/gem/credentials

常用选项

  • -h, --help - 获取有关此命令的帮助
  • -V, --[no-]verbose - 设置输出的详细程度
  • -q, --quiet - 静音命令进度表
  • --silent - 静音 RubyGems 输出
  • --config-file FILE - 使用此配置文件而不是默认配置文件
  • --backtrace - 在错误时显示堆栈回溯
  • --debug - 打开 Ruby 调试
  • --norc - 避免加载任何 .gemrc 文件

参数

  • GEM - gem 的名称

描述

yank 命令会永久移除您推送至服务器的 gem。

一旦您推送了一个 gem,一些下载会通过 webhooks 自动发生。如果您不小心推送了密码或其他敏感数据,您需要立即更改它们并 yank 您的 gem。