有写rubygems的问题

And*_*imm 5 ruby rubygems

已经有对答案的问题如何 RubyGems的,但你应该写一rubygem避免?使用rubygem的人会有什么问题?

And*_*imm 5

宝石包装:最佳实践提供了很多建议,其中一些包括

  • 不要污染全局加载路径.理想情况下,只foo.rb在您的lib目录中,并将所有其他文件放入lib/foo.

  • 不要require使用文件__FILE__.

  • 不要依赖负载路径之外的任何东西.文件夹可能与原始版本的结构不同.例如,不要使用类似的东西

    VERSION = :: File.read(:: File.join(:: File.dirname(FILE),"..","..","VERSION")).strip

  • 不要管$LOAD_PATHlib.

  • 提供一个VERSION常数.

  • 不要依赖rubygems.使用您的代码的人可能不使用rubygems,而是使用其他一些包装系统(或没有包装系统).同样,不要在代码本身中提及版本依赖性,或者rescue Gem::LoadError.

Rubygems依赖项.请... ...认为您不应列出可选的运行时依赖项,并应将开发人员与运行时依赖项分开.

根据我自己的经验:如果没有别的,尝试在将它放入野外之前在本地构建和安装宝石.它避免了棕色纸袋的释放.