如果您从头开始创建 gem,可以使用 bundler 内置的 gem 骨架为您创建一个基础 gem 以供编辑。
$ bundle gem my_gem
这将创建一个名为 my_gem
的新目录,其中包含您的新 gem 骨架。如果您已经有一个 gem,您可以创建一个 Gemfile 并使用 Bundler 来管理您的开发依赖项。以下是一个示例。
source "https://rubygems.org.cn"
gemspec
gem "rspec", "~> 3.9"
gem "rubocop", "0.79.0"
在此 Gemfile 中,gemspec
方法导入在 my_gem.gemspec
文件中使用 add_runtime_dependency
列出的 gem,并且还安装 rspec 和 rubocop 来测试和开发 gem。bundle install
将安装 gemspec 和 Gemfile 中的所有依赖项,但 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,请指定您要引用的 gemspec 使用 :name
gemspec :name => 'my_awesome_gem'
这将使用 my_awesome_gem.gemspec
就这样!在开发您的 gem 时使用 bundler,否则,正常使用 gemspec!
$ gem build my_gem.gemspec