gemファイルの作り方を学んでいます。
を使用してbundle gem foo
、「hello world」gem を作成しました。実行ファイル名を指定すると正常に動作します。
Gem::Specification.new do |spec|
spec.executables = "foo"
end
しかし、デフォルトGem::Specification.executables
ではこのように設定されています。
Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
end
bin
このメソッドは、ディレクトリの下のすべてのファイルを見つけると思いました。しかし、私の環境ではうまくいきません。
gemを作るたびに書き直すのはたいしたことではない。しかし、なぜこれがうまくいかないのかを明確にしたいと思います。
私の環境は次のとおりです。rbenvを使用したruby 2.0.0-p247、バンドル1.3.5、gem 2.0.3、Ubuntu 12.04。