我目前正在创造一个宝石,它似乎比比较宝石大得多.
首先,这是一个真正的问题,如果是这样,有一种特殊的方法来减少宝石的大小?
spec/在解压缩时,gem的目录超过99MB.你绝对应该将它从最终的宝石中排除(即使很小).它之所以如此之大,是因为它包含了仍然存在log/(80MB)和tmp/(18MB)目录的虚拟应用程序.
排除文件的方式是通过中的files变量gemspec.该变量包含将放入构建的gem中的每个文件的数组.
Gem::Specification.new do |gem|
gem.files = `git ls-files`.split($/).reject { |fn| fn.start_with? "spec" }
...
end
Run Code Online (Sandbox Code Playgroud)
代码将首先获取目录中每个文件的列表(git ls-files它也将应用规则.gitignore),然后删除路径以其开头的任何文件spec.
是否要将测试包含在最终宝石中取决于您自己.问题是没有一种简单的方法来运行测试.曾经有一个选项(-t)直接通过Rubygems这样做,但该选项已经被删除了很久以前.鉴于这种情况,我认为将测试保存在存储库中可能是最好的.
请注意,您还可以看到一个叫做变量test_files中gemspec.该变量已弃用且不执行任何操作.
| 归档时间: |
|
| 查看次数: |
446 次 |
| 最近记录: |