我正在学习如何制作 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、bundle 1.3.5、gem 2.0.3、Ubuntu 12.04。