Docs header transparent bg

捆綁寶石

bundle-gem - 產生一個專案架構來建立一個 rubygem

bundle gem GEM_NAME OPTIONS

說明

產生一個名為 GEM_NAME 的目錄,其中包含一個 RakefileGEM_NAME.gemspec,以及其他可以用來開發一個同名 rubygem 的支援檔案和目錄。

在產生的專案中執行 rake -T,以取得可用於測試和發佈寶石至 rubygems.org 的 Rake 任務清單。

產生的專案架構可以使用選項自訂,如下所述。請注意,這些選項也可以使用下列名稱透過 Bundler 的全域組態檔指定

  • gem.coc
  • gem.mit
  • gem.test

選項

  • --exe-b--bin:指定 Bundler 應該在產生的 rubygem 專案中建立一個二進位可執行檔(作為 exe/GEM_NAME)。此二進位檔也會新增至 GEM_NAME.gemspec 清單。此行為預設為停用。

  • --no-exe:不要建立二進位檔(覆寫全域組態中指定的 --exe)。

  • --coc:在產生的專案根目錄新增一個 CODE_OF_CONDUCT.md 檔案。如果未指定此選項,將會顯示一個互動式提示,並將答案儲存在 Bundler 的全域組態中,以供將來的 bundle gem 使用。

  • --no-coc:不要建立 CODE_OF_CONDUCT.md(覆寫全域組態中指定的 --coc)。

  • --ext=c--ext=rust 在產生的專案中新增 C 或 Rust(目前基於 magnus)擴充程式碼的樣板。此行為預設為停用。

  • --no-ext:不要新增擴充程式碼(覆寫全域組態中指定的 --ext)。

  • --mit:在產生的專案根目錄新增一個 LICENSE.txt 檔案,並加入 MIT 授權。您的姓名來自全域 git 組態,用於版權聲明。如果未指定此選項,將會顯示一個互動式提示,並將答案儲存在 Bundler 的全域組態中,以供將來的 bundle gem 使用。

  • --no-mit:不要建立 LICENSE.txt(覆寫在全域設定中指定的 --mit)。

  • -t--test=minitest--test=rspec--test=test-unit:指定 Bundler 在產生專案時應使用的測試架構。可接受的值為 minitestrspectest-unitGEM_NAME.gemspec 將會設定,並且會根據此選項建立一個測試/規格範本目錄。未指定任何選項時

    當 Bundler 設定為產生測試時,這會預設為 Bundler 的全域設定 gem.test

    當 Bundler 設定為不產生測試時,會顯示一個互動式提示,而答案將用於目前的 RubyGem 專案。

    當 Bundler 未設定時,會顯示一個互動式提示,而答案將儲存在 Bundler 的全域設定中,以供將來的 bundle gem 使用。

  • --ci--ci=github--ci=gitlab--ci=circle:指定 Bundler 在產生專案時應使用的持續整合服務。可接受的值為 githubgitlabcircle。設定檔將會產生在專案目錄中。未指定任何選項時

    當 Bundler 設定為產生 CI 檔案時,這會預設為 Bundler 的全域設定 gem.ci

    當 Bundler 設定為不產生 CI 檔案時,會顯示一個互動式提示,而答案將用於目前的 RubyGem 專案。

    當 Bundler 未設定時,會顯示一個互動式提示,而答案將儲存在 Bundler 的全域設定中,以供將來的 bundle gem 使用。

  • --linter--linter=rubocop--linter=standard:指定 Bundler 應加入專案開發相依項目的 linter 和程式碼格式化器。可接受的值為 rubocopstandard。設定檔將會產生在專案目錄中。未指定任何選項時

    當 Bundler 設定為加入 linter 時,這會預設為 Bundler 的全域設定 gem.linter

    當 Bundler 設定為不加入 linter 時,會顯示一個互動式提示,而答案將用於目前的 RubyGem 專案。

    當 Bundler 未設定時,會顯示一個互動式提示,而答案將儲存在 Bundler 的全域設定中,以供將來的 bundle gem 使用。

  • -e--edit[=EDITOR]:在 EDITOR 中開啟產生的 GEM_NAME.gemspec,如果未指定,則開啟預設編輯器。預設為 $BUNDLER_EDITOR$VISUAL$EDITOR

另請參閱