答案 0 :(得分:5)
Gem Packaging: Best Practices提供了很多建议,其中一些建议包括
不要污染全局加载路径。理想情况下,只有foo.rb
目录中的lib
,并将所有其他文件放入lib/foo
。
请勿使用require
{/ 1>}文件。{/ p>
不要依赖加载路径之外的任何东西。文件夹可能与原始版本的结构不同。例如,不要使用类似
的内容VERSION = :: File.read(:: File.join(:: File.dirname( FILE ),“..”,“..”,“VERSION”))。strip
请勿在{{1}}内管理__FILE__
。
提供$LOAD_PATH
常量。
不要依赖rubygems。使用您的代码的人可能不使用rubygems,而是使用其他一些包装系统(或没有包装系统)。同样,不要在代码本身中提及版本依赖关系,或lib
。
Rubygems dependencies. Please...认为你不应该列出可选的运行时依赖项,并且应该将开发人员与运行时依赖关系分开。
From my own experience:如果没有别的,请尝试在将宝石放入野外之前在本地构建和安装宝石。它避免了棕色纸袋的释放。