会社で先輩から教えて頂いた話。
RubyGem を作るときは Gemfile に依存する gem を書いてはいけない。
Gemfile は単に次のようにする。
Gemfile
source "http://rubygems.org"
gemspec
使用する gem は全て (gem名).gemspecに書く。
(gem名).gemspec
# -*- encoding: utf-8 -*-
$:.push File.expand_path("../lib", __FILE__)
require "(gem名)/version"
Gem::Specification.new do |s|
s.name = "(gem名)"
# … (中略) ...
s.require_paths = ["lib"]
# gem が依存している gem は add_runtime_dependency で指定する
s.add_runtime_dependency 'hoge'
# gem の開発に必要な gem は add_development_dependency で指定する
s.add_development_dependency 'rspec'
end