如果您要從頭開始建立寶石,可以使用 bundler 內建的寶石骨架為您建立可編輯的基本寶石。
$ bundle gem my_gem
這會建立一個名為 my_gem
的新目錄,其中包含您的新寶石骨架。如果您已有寶石,可以建立 Gemfile 並使用 Bundler 管理您的開發依賴項。以下是一個範例。
source "https://rubygems.org"
gemspec
gem "rspec", "~> 3.9"
gem "rubocop", "0.79.0"
在此 Gemfile 中,gemspec
方法會匯入在 my_gem.gemspec
檔案中使用 add_runtime_dependency
列出的寶石,並且也會安裝 rspec 和 rubocop 來測試和開發寶石。gemspec 和 Gemfile 中的所有依賴項都會由 bundle install
安裝,但 rspec 和 rubocop 卻不會包含在 gem install mygem
或 bundle add mygem
中。gemspec 中的執行時期依賴項會視為列在您的 Gemfile 中,而開發依賴項則會預設新增至群組 :development
。您可以使用 :development_group
選項變更該群組
gemspec :development_group => :dev
此外,您可以使用 :path
指向特定 gemspec。如果您的 gemspec 位於 /gemspec/path
,請使用
gemspec :path => '/gemspec/path'
如果您在同一個目錄中有數個 gemspec,請使用 :name
指定您要參照哪一個
gemspec :name => 'my_awesome_gem'
這會使用 my_awesome_gem.gemspec
就這樣!開發您的寶石時使用 bundler,否則,請正常使用 gemspec!
$ gem build my_gem.gemspec