每个 gem
命令的作用以及如何使用它。
此参考是从 RubyGems 版本 3.5.9 自动生成的。
- gem build
- gem cert
- gem check
- gem cleanup
- gem contents
- gem dependency
- gem environment
- gem exec
- gem fetch
- gem generate_index
- gem help
- gem info
- gem install
- gem list
- gem lock
- gem mirror
- gem open
- gem outdated
- gem owner
- gem pristine
- gem push
- gem query
- gem rdoc
- gem rebuild
- gem search
- gem server
- gem signin
- gem signout
- gem sources
- gem specification
- gem stale
- gem uninstall
- gem unpack
- gem update
- gem which
- gem yank
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 build
、rake build
或 rake release
,它就是一个潜在的候选者。
您需要匹配使用的 RubyGems 版本,因为这包含在 Gem 元数据中。
如果 gem 包含锁定文件(例如 Gemfile.lock)等,则需要更多努力才能重现构建。例如,它可能需要更精确地匹配使用的 Ruby 和/或 Bundler 版本。
gem search
显示名称与 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。