14

我不清楚.gemspec文件中的某些规范在做什么。具体来说,

spec.files         = `git ls-files -z`.split("\x0")
spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]

有人可以解释这些与 Ruby Gem 的功能有何关系以及为什么它们是必要的吗?

4

1 回答 1

13

executables

gem 中包含的可执行文件。例如,rake gem 将 rake 作为可执行文件。这些文件必须是可执行的 Ruby 文件。

files

gem 中包含的文件。这些是构建时将包含在您的 gem 中的文件。

require_paths

包含Array应添加到$LOAD_PATHgem 激活的目录和文件。默认情况下是["lib"].

test_files

gem 中包含的测试文件。

于 2014-08-07T19:34:12.470 回答