每個 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 清單
- gem 鎖定
- gem 鏡像
- gem 開啟
- gem 過期
- gem 所有者
- gem 原始
- gem 推送
- gem 查詢
- gem rdoc
- gem 重新建置
- gem 搜尋
- gem 伺服器
- gem 登入
- gem 登出
- gem 來源
- gem 規格
- gem 過期
- gem 解除安裝
- gem 解壓縮
- gem 更新
- gem 哪裡
- 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 和 RubyGems 附帶的 Gem::PackageTask。
gemspec 可以手動建立,或使用 gem spec 從現有 gem 萃取。
$ 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 名稱
說明
內容指令會列出已安裝 gem 中的檔案。清單可以是完整檔名、不含已安裝目錄前綴的檔名,或僅限於可要求的檔案。
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
- 將操作限制在 LOCAL 網域-r, --remote
- 將操作限制在 REMOTE 網域-b, --both
- 允許 LOCAL 和 REMOTE 操作-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 平台
- <omitted> - 顯示所有內容
說明
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
- 允許安裝 gem 的預發行版本-g, --gem 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
- 顯示所有寶石版本-e, --exact
- 要查詢的寶石名稱與提供的字串相符--[no-]prerelease
- 顯示預發行版本
已棄用的選項
-u, --[no-]update-sources
- 更新本機來源快取
本機/遠端選項
-l, --local
- 將操作限制在 LOCAL 網域-r, --remote
- 將操作限制在 REMOTE 網域-b, --both
- 允許 LOCAL 和 REMOTE 操作-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 - 要列印其資訊的寶石名稱
說明
info 會列印寶石的資訊,例如名稱、描述、網站、授權和已安裝路徑
gem install
將寶石安裝到本機儲存庫
用法
gem install [options] GEMNAME [GEMNAME ...] -- --build-flags [options]
選項
--platform PLATFORM
- 指定要安裝的寶石平台-v, --version 版本
- 指定要安裝的 gem 版本--[no-]prerelease
- 允許安裝 gem 的預發行版本。(僅限於列出的 gem)
已棄用的選項
-u, --[no-]update-sources
- 更新本機來源快取
安裝/更新選項
-i, --install-dir 目錄
- 取得已安裝 gem 的 Gem 儲存庫目錄-n, --bindir 目錄
- 安裝 gem 時放置執行檔的目錄--document [類型]
- 為已安裝的 gem 產生文件,列出您想要產生的文件類型。例如:rdoc、ri--build-root 目錄
- 暫時安裝根目錄。對於建置套件很有用。安裝遠端 gem 時請勿使用此選項。--vendor
- 將 gem 安裝到 vendor 目錄中。僅供 gem 重新包裝者使用。-N, --no-document
- 停用文件產生-E, --[no-]env-shebang
- 重新撰寫已安裝指令碼中的 shebang 行,以使用 /usr/bin/env-f, --[no-]force
- 強制安裝 gem,略過相依性檢查-w, --[no-]wrappers
- 對執行檔使用 bin wrapper,dosish 平台上不適用-P, --trust-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 [檔案]
- 從 gem 相依性 API 檔案中讀取並安裝列出的 gem--without 群組
- 從 gem 相依性檔案中安裝時,略過指定的群組(以逗號分隔)--default
- 將 gem 的完整規格新增到 specifications/default 中,並僅提取其 bin--explain
- 顯示會安裝哪些 gem,而不是安裝它們--[no-]lock
- 建立鎖定檔(與-g
/--file
一起使用時)--[no-]suggestions
- 在找不到寶石時建議替代方案
本機/遠端選項
-l, --local
- 將操作限制在 LOCAL 網域-r, --remote
- 將操作限制在 REMOTE 網域-b, --both
- 允許 LOCAL 和 REMOTE 操作-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 檔
引數
- 寶石名稱 - 要安裝的寶石名稱
說明
install 指令會將本機或遠端的寶石安裝到寶石存放庫中。
對於具有可執行檔的寶石,Ruby 預設會在可執行檔目錄中安裝一個包裝檔案。這可以使用 –no-wrappers 選項覆寫。包裝檔允許您使用 版本在備用寶石版本之間進行選擇。
例如,rake _0.7.3_ --version
會執行 Rake 版本 0.7.3,即使也安裝了較新版本。
寶石相依性檔案
當存在寶石相依性檔案(gem.deps.rb、Gemfile 或 Isolate)時,RubyGems 可以使用 gem install -g
在多個環境中安裝一組一致的寶石。如果沒有提供明確的檔案,RubyGems 會嘗試在目前目錄中尋找一個。
當 RUBYGEMS_GEMDEPS 環境變數設定為寶石相依性檔案時,該檔案中的寶石會在啟動時啟用。將其設定為特定檔案名稱或 “-“,讓 RubyGems 自動從目前目錄向上尋找寶石相依性檔案。
注意:在多使用者系統上啟用自動偵測,可能會在您無法控制的目錄中執行任意程式碼。
擴充安裝失敗
如果擴充在寶石安裝期間無法編譯,寶石規格不會寫入,但寶石會保持解壓縮狀態在存放庫中。您可能需要指定函式庫標頭和函式庫的路徑才能繼續。您可以透過在 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 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 清單
顯示名稱符合 REGEXP 的本機寶石
用法
gem list [REGEXP ...] [options]
選項
-i, --[no-]installed
- 檢查已安裝的寶石-I
- 等同於--no-installed
-v, --version VERSION
- 指定要列出的寶石版本,供--installed
使用-d, --[no-]details
- 顯示寶石的詳細資訊--[no-]versions
- 僅顯示寶石名稱-a, --all
- 顯示所有寶石版本-e, --exact
- 要查詢的寶石名稱與提供的字串相符--[no-]prerelease
- 顯示預發行版本
已棄用的選項
-u, --[no-]update-sources
- 更新本機來源快取
本機/遠端選項
-l, --local
- 將操作限制在 LOCAL 網域-r, --remote
- 將操作限制在 REMOTE 網域-b, --both
- 允許 LOCAL 和 REMOTE 操作-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 - 在寶石名稱中尋找的正規表示法
說明
list 指令用於檢視您已在本機安裝的寶石。
「-details」選項會顯示其他詳細資料,包括摘要、首頁、作者、不同版本寶石的位置。
若要搜尋遠端寶石,請使用「search」指令。
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 - 要鎖定的寶石名稱
- VERSION - 要鎖定的寶石版本
說明
「lock」指令會產生一個「+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 鏡像
鏡像所有寶石檔案(需要 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 [-e COMMAND] GEMNAME [options]
選項
-e, --editor COMMAND
- 將 COMMAND 前置於寶石路徑。可用於指定編輯器。-v, --version VERSION
- 開啟特定寶石版本
常見選項
-h, --help
- 取得此指令的說明-V, --[no-]verbose
- 設定輸出的詳細程度-q, --quiet
- 關閉指令進度計--silent
- 關閉 RubyGems 輸出--config-file FILE
- 使用此設定檔,而非預設設定檔--backtrace
- 錯誤時顯示堆疊追蹤--debug
- 開啟 Ruby 除錯--norc
- 避免載入任何 .gemrc 檔
引數
- GEMNAME - 要在編輯器中開啟的寶石名稱
說明
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 過期
顯示所有需要更新的寶石
用法
gem outdated [options]
選項
--platform PLATFORM
- 指定要過時的寶石平台
已棄用的選項
-u, --[no-]update-sources
- 更新本機來源快取
本機/遠端選項
-l, --local
- 將操作限制在 LOCAL 網域-r, --remote
- 將操作限制在 REMOTE 網域-b, --both
- 允許 LOCAL 和 REMOTE 操作-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」指令會列出您可能希望升級至較新版本的寶石。
您可以使用「dependency」指令檢查相依性不符,並使用「update」或「install」指令更新寶石。
gem 所有者
管理推播伺服器上寶石的所有者
用法
gem owner GEM [options]
選項
-k, --key KEYNAME
- 使用 ~/.local/share/gem/credentials 中提供的 API 金鑰--otp CODE
- 多重驗證的數字代碼您也可以使用環境變數 GEM_HOST_OTP_CODE-a, --add NEW_OWNER
- 透過使用者識別碼新增所有者-r, --remove OLD_OWNER
- 透過使用者識別碼移除所有者--host HOST
- 使用另一個與 gemcutter 相容的主機(例如:https://rubygems.org)
本機/遠端選項
-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
說明
owner 指令讓您在推播伺服器上新增和移除 gem 的擁有者(預設為 https://rubygems.org)。如果多次提供旗標,則可以同時新增或移除多個擁有者。
支援的使用者識別碼會依推播伺服器而定。對於 rubygems.org,即使使用者識別碼欄位稱為「email」,但電子郵件和處理程式都受支援。
gem 的擁有者有權限推播新版本、取消現有版本或編輯 gem 的 HTML 頁面。請小心您將推播權限授予哪些人。
gem 原始
從 gem 快取中找到的檔案,將已安裝的 gem 還原為原始狀態
用法
gem pristine [GEMNAME ...] [options]
選項
--all
- 將所有已安裝的 gem 還原為原始狀態--skip=gem_name
- 用於--all
,如果名稱 == gem_name,則略過--[no-]extensions
- 除了常規 gem 之外,還原具有擴充功能的 gem--only-missing-extensions
- 僅還原具有遺失擴充功能的 gem--only-executables
- 僅還原可執行檔--only-plugins
- 僅還原外掛程式-E, --[no-]env-shebang
- 使用 /usr/bin/env 的 shebang 重寫可執行檔-i, --install-dir DIR
- 安裝 binstubs 和外掛程式的 Gem 存放庫-n, --bindir DIR
- 可執行檔所在目錄-v, --version VERSION
- 指定要還原為原始狀態的 gem 版本
常見選項
-h, --help
- 取得此指令的說明-V, --[no-]verbose
- 設定輸出的詳細程度-q, --quiet
- 關閉指令進度計--silent
- 關閉 RubyGems 輸出--config-file FILE
- 使用此設定檔,而非預設設定檔--backtrace
- 錯誤時顯示堆疊追蹤--debug
- 開啟 Ruby 除錯--norc
- 避免載入任何 .gemrc 檔
引數
- GEMNAME - 要還原為原始狀態的 gem(除非為 –all)
說明
pristine 指令會將已安裝的 gem 與其快取 .gem 檔案的內容進行比較,並還原任何與快取 .gem 副本不符的檔案。
如果您已修改已安裝的 gem,pristine 指令會將它們還原。所有擴充功能都會重建,所有 gem 的 bin stub 都會在檢查修改後重新產生。
如果找不到快取的 gem,它將會下載。
如果提供了 –no-extensions,pristine 將不會嘗試還原帶有擴充功能的 gem。
如果給出了 –extensions(但沒有 –all 或 gem 名稱),只有帶有擴充功能的 gem 會被還原。
gem 推送
將 gem 推送到 gem 伺服器
用法
gem push GEM [options]
選項
-k, --key KEYNAME
- 使用 ~/.local/share/gem/credentials 中提供的 API 金鑰--otp CODE
- 多重驗證的數字代碼您也可以使用環境變數 GEM_HOST_OTP_CODE--host HOST
- 推送到另一個與 gemcutter 相容的主機(例如:https://rubygems.org)
本機/遠端選項
-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 上傳到 push 伺服器(預設為 https://rubygems.org)並將它新增到索引。
可以使用 yank 指令從索引中移除 gem 並從伺服器中刪除它。有關進一步討論,請參閱 yank 指令的說明。
push 指令會使用 ~/.gem/credentials 向伺服器進行驗證,但您可以使用 RubyGems 環境變數 GEM_HOST_API_KEY 設定 API 金鑰進行驗證。
gem 查詢
查詢本地或遠端儲存庫中的 gem 資訊
用法
gem query [options]
選項
-n, --name-matches REGEXP
- 要查詢的 gem 名稱與提供的 REGEXP 相符-i, --[no-]installed
- 檢查已安裝的寶石-I
- 等同於--no-installed
-v, --version VERSION
- 指定要查詢的 gem 版本,與--installed
搭配使用-d, --[no-]details
- 顯示寶石的詳細資訊--[no-]versions
- 僅顯示寶石名稱-a, --all
- 顯示所有寶石版本-e, --exact
- 要查詢的寶石名稱與提供的字串相符--[no-]prerelease
- 顯示預發行版本
已棄用的選項
-u, --[no-]update-sources
- 更新本機來源快取
本機/遠端選項
-l, --local
- 將操作限制在 LOCAL 網域-r, --remote
- 將操作限制在 REMOTE 網域-b, --both
- 允許 LOCAL 和 REMOTE 操作-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 重新建置
嘗試重現 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_VERSION - 您嘗試重新建置的寶石版本
說明
重新建置指令讓您可以(嘗試)從 ruby gemspec 複製寶石建置。
此指令假設 gemspec 可以使用 gem build
指令建置。如果您在寶石的建置/發佈程序中使用任何 gem build
、rake build
或 rake release
,則它是一個潛在候選。
您需要比對使用的 RubyGems 版本,因為它包含在寶石的元資料中。
如果寶石包含鎖定檔(例如 Gemfile.lock)和類似檔案,則複製建置將需要更多工作。例如,它可能需要更精確比對的 Ruby 和/或 Bundler 版本。
gem 搜尋
顯示名稱符合 REGEXP 的遠端寶石
用法
gem search [REGEXP] [options]
選項
-i, --[no-]installed
- 檢查已安裝的寶石-I
- 等同於--no-installed
-v, --version VERSION
- 指定要搜尋的寶石版本,以搭配--installed
使用-d, --[no-]details
- 顯示寶石的詳細資訊--[no-]versions
- 僅顯示寶石名稱-a, --all
- 顯示所有寶石版本-e, --exact
- 要查詢的寶石名稱與提供的字串相符--[no-]prerelease
- 顯示預發行版本
已棄用的選項
-u, --[no-]update-sources
- 更新本機來源快取
本機/遠端選項
-l, --local
- 將操作限制在 LOCAL 網域-r, --remote
- 將操作限制在 REMOTE 網域-b, --both
- 允許 LOCAL 和 REMOTE 操作-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 - 在寶石名稱中搜尋的正規表示法
說明
搜尋指令會顯示名稱符合指定正規表示法的遠端寶石。
–details 選項會顯示寶石的更多詳細資料,但會花費較長的時間完成,因為它必須從索引中個別下載資訊。
若要列出本機寶石,請使用 list 指令。
gem 伺服器
啟動主機 RDoc 的網路伺服器(需要 rubygems-server)
用法
gem server [options]
常見選項
-h, --help
- 取得此指令的說明-V, --[no-]verbose
- 設定輸出的詳細程度-q, --quiet
- 關閉指令進度計--silent
- 關閉 RubyGems 輸出--config-file FILE
- 使用此設定檔,而非預設設定檔--backtrace
- 錯誤時顯示堆疊追蹤--debug
- 開啟 Ruby 除錯--norc
- 避免載入任何 .gemrc 檔
說明
伺服器指令已移至 rubygems-server 寶石。
gem 登入
登入任何相容於 gemcutter 的主機。它預設為 https://rubygems.org
用法
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 檔
說明
登入指令會為推播伺服器執行主機登入(預設為 https://rubygems.org)。主機可以透過主機旗標提供,或可以從提供的寶石中推論。主機解析與推播指令的解析策略相符。
gem 登出
從所有目前的階段登出。
用法
gem signout [options]
常見選項
-h, --help
- 取得此指令的說明-V, --[no-]verbose
- 設定輸出的詳細程度-q, --quiet
- 關閉指令進度計--silent
- 關閉 RubyGems 輸出--config-file FILE
- 使用此設定檔,而非預設設定檔--backtrace
- 錯誤時顯示堆疊追蹤--debug
- 開啟 Ruby 除錯--norc
- 避免載入任何 .gemrc 檔
說明
signout
指令用於從所有目前的階段登出,讓您可以使用不同的憑證組登入。
gem 來源
管理 RubyGems 用於搜尋寶石的來源和快取檔案
用法
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 中)。
預設來源為 https://rubygems.org,但您可能已設定其他來源。本指南將協助您更新來源或設定自己使用自己的寶石伺服器。
不帶任何引數時,來源會列出您目前設定的來源
$ gem sources
*** CURRENT SOURCES ***
https://rubygems.org
這可能會列出多個來源或非 RubyGems 來源。您可能在之前設定過它們,或有一個舊的 ~/.gemrc
。如果您有自己不認識的來源,您應該將它們移除。
RubyGems 已設定透過以下網址提供寶石
- http://gems.rubyforge.org(RubyGems 1.3.5 及更早版本)
- http://rubygems.org(RubyGems 1.3.6 至 1.8.30,以及 2.0.0)
- https://rubygems.org(RubyGems 2.0.1 及更新版本)
由於這些來源全部指向同一組寶石,因此您在清單中只需要其中一個。建議使用 https://rubygems.org,因為它會為寶石下載帶來 SSL 連線的保護。
若要新增來源,請使用 –add 引數
$ gem sources --add https://rubygems.org
https://rubygems.org added to sources
RubyGems 會檢查在新增之前是否可以從提供的來源安裝寶石。
若要移除來源,請使用 –remove 引數
$ gem sources --remove https://rubygems.org/
https://rubygems.org/ removed from sources
gem 規格
顯示寶石規格(以 yaml 格式)
用法
gem specification [GEMFILE] [FIELD] [options]
選項
-v, --version VERSION
- 指定要檢查的寶石版本--platform PLATFORM
- 指定要規格的寶石平台--[no-]prerelease
- 允許 gem 的預發行版本--all
- 輸出寶石所有版本的規格--ruby
- 輸出 Ruby 格式--yaml
- 輸出 YAML 格式--marshal
- 輸出 Marshal 格式
已棄用的選項
-u, --[no-]update-sources
- 更新本機來源快取
本機/遠端選項
-l, --local
- 將操作限制在 LOCAL 網域-r, --remote
- 將操作限制在 REMOTE 網域-b, --both
- 允許 LOCAL 和 REMOTE 操作-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 的寶石名稱
- FIELD - 要顯示的 gemspec 欄位名稱
說明
specification 指令讓您可以從 gem 中萃取規格以進行檢查。
規格可以 YAML、ruby 或 Marshal 格式輸出。
規格中的特定欄位可以用 YAML 格式萃取
$ gem spec rake summary
--- Ruby based make-like utility.
...
gem 過期
列出 gem 和存取時間
用法
gem stale [options]
常見選項
-h, --help
- 取得此指令的說明-V, --[no-]verbose
- 設定輸出的詳細程度-q, --quiet
- 關閉指令進度計--silent
- 關閉 RubyGems 輸出--config-file FILE
- 使用此設定檔,而非預設設定檔--backtrace
- 錯誤時顯示堆疊追蹤--debug
- 開啟 Ruby 除錯--norc
- 避免載入任何 .gemrc 檔
說明
stale 指令會列出已安裝 gem 中所有檔案的最新存取時間。
您可以使用此指令找出您不再使用的 gem 和 gem 版本。
gem 解除安裝
從本機儲存庫解除安裝 gem
用法
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 之外,也從使用者的家目錄解除安裝。--[no-]format-executable
- 假設可執行檔名稱與 Ruby 的字首和字尾相符。--[no-]force
- 解除安裝指定 gem 的所有版本,忽略相依性--[no-]abort-on-dependent
- 避免解除安裝其他 gem 相依的 gem。-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。
如果您嘗試解除安裝現有寶石的相依性寶石,RubyGems 會要求確認。您可以使用 –ignore-dependencies 選項來略過此檢查。
gem 解壓縮
將已安裝的寶石解壓縮到目前的目錄
用法
gem unpack GEMNAME [options]
選項
--target=DIR
- 解壓縮的目標目錄--spec
- 解壓縮寶石規格-v, --version VERSION
- 指定要解壓縮的寶石版本
安裝/更新選項
-P, --trust-policy 政策
- 指定 gem 信任政策
常見選項
-h, --help
- 取得此指令的說明-V, --[no-]verbose
- 設定輸出的詳細程度-q, --quiet
- 關閉指令進度計--silent
- 關閉 RubyGems 輸出--config-file FILE
- 使用此設定檔,而非預設設定檔--backtrace
- 錯誤時顯示堆疊追蹤--debug
- 開啟 Ruby 除錯--norc
- 避免載入任何 .gemrc 檔
引數
- GEMNAME - 要解壓縮的寶石名稱
說明
unpack 指令讓您可以檢查寶石的內容或修改它們,以協助診斷錯誤。
您可以使用 RUBYLIB 環境變數或 -I 將解壓縮寶石的內容新增到載入路徑。
$ 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 指令重新封裝已解壓縮的寶石。請參閱 build 指令說明,以取得範例。
gem 更新
將已安裝的寶石更新至最新版本
用法
gem update GEMNAME [GEMNAME ...] [options]
選項
--system [VERSION]
- 更新 RubyGems 系統軟體--platform PLATFORM
- 指定要更新的寶石平台--[no-]prerelease
- 允許寶石的預發行版本作為更新目標
已棄用的選項
-u, --[no-]update-sources
- 更新本機來源快取
安裝/更新選項
-i, --install-dir 目錄
- 取得已安裝 gem 的 Gem 儲存庫目錄-n, --bindir 目錄
- 安裝 gem 時放置執行檔的目錄--document [類型]
- 為已安裝的 gem 產生文件,列出您想要產生的文件類型。例如:rdoc、ri--build-root 目錄
- 暫時安裝根目錄。對於建置套件很有用。安裝遠端 gem 時請勿使用此選項。--vendor
- 將 gem 安裝到 vendor 目錄中。僅供 gem 重新包裝者使用。-N, --no-document
- 停用文件產生-E, --[no-]env-shebang
- 重新撰寫已安裝指令碼中的 shebang 行,以使用 /usr/bin/env-f, --[no-]force
- 強制安裝 gem,略過相依性檢查-w, --[no-]wrappers
- 對執行檔使用 bin wrapper,dosish 平台上不適用-P, --trust-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 [檔案]
- 從 gem 相依性 API 檔案中讀取並安裝列出的 gem--without 群組
- 從 gem 相依性檔案中安裝時,略過指定的群組(以逗號分隔)--default
- 將 gem 的完整規格新增到 specifications/default 中,並僅提取其 bin--explain
- 顯示會安裝哪些 gem,而不是安裝它們--[no-]lock
- 建立鎖定檔(與-g
/--file
一起使用時)--[no-]suggestions
- 在找不到寶石時建議替代方案
本機/遠端選項
-l, --local
- 將操作限制在 LOCAL 網域-r, --remote
- 將操作限制在 REMOTE 網域-b, --both
- 允許 LOCAL 和 REMOTE 操作-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 - 要更新的寶石名稱
說明
update 指令會將您的寶石更新至最新版本。
update 指令不會移除先前的版本。請使用 cleanup 指令移除舊版本。
gem 哪裡
找出您可以需要的程式庫檔案位置
用法
gem which FILE [FILE ...] [options]
選項
-a, --[no-]all
- 顯示所有符合的檔案-g, --[no-]gems-first
- 在非寶石之前搜尋寶石
常見選項
-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 yank -v VERSION [-p PLATFORM] [--key KEY_NAME] [--host HOST] GEM [options]
選項
-v, --version VERSION
- 指定要移除的寶石版本--platform PLATFORM
- 指定要移除的寶石平台--otp CODE
- 多重驗證的數字代碼您也可以使用環境變數 GEM_HOST_OTP_CODE--host HOST
- 從另一個與 gemcutter 相容的主機 (例如 https://rubygems.org) 中移除-k, --key KEYNAME
- 使用 ~/.local/share/gem/credentials 中提供的 API 金鑰
常見選項
-h, --help
- 取得此指令的說明-V, --[no-]verbose
- 設定輸出的詳細程度-q, --quiet
- 關閉指令進度計--silent
- 關閉 RubyGems 輸出--config-file FILE
- 使用此設定檔,而非預設設定檔--backtrace
- 錯誤時顯示堆疊追蹤--debug
- 開啟 Ruby 除錯--norc
- 避免載入任何 .gemrc 檔
引數
- GEM - 寶石名稱
說明
yank 指令會永久移除你推送到伺服器上的寶石。
一旦你推送到寶石,好幾次下載會自動透過網路掛勾發生。如果你不小心推送到密碼或其他敏感資料,你會需要立即變更它們並撤回你的寶石。