你怎么知道宝石是正确的?

时间:2009-04-01 22:31:38

标签: ruby rubygems

似乎没有关于Ruby Gem包提交的指南。没有办法告诉你需要什么是最终的包。至少不在Gem框架内部。或者我错过了什么?

例如:我发现了“ActiveLDAP”。我做了

gem search ldap --remote

然后回来了

*** REMOTE GEMS ***

activeldap (1.0.2)
ambitious-activeldap (0.1.1)
ruby-activeldap (0.8.3.1)
ruby-activeldap-debug (0.7.4)

我最后安装了“activeldap”和“ruby-activeldap”。原来他们是同一个包:“ruby-activeldap”只是一个旧版本。

Gems框架中是否有办法区分它们,而无需Google提供答案。例如,简短的文档字符串,或依赖关系树?

似乎宝石中有很多这类差异。

3 个答案:

答案 0 :(得分:1)

如果由于脚本中的依赖关系而安装gem,您可以根据以下内容进行判断:

require_gem 'rake', '>=0.7.0', '<0.9.0'

除此之外,我不确定要么完全诚实。如果需求没有指定需要哪一个,我通常会使用最新版本的东西。

[编辑] 我会使用看起来最成熟的那个(1.0超过0.X)。 [/编辑]

答案 1 :(得分:1)

我认为你可以环顾四周并找到指导方针,但不管它们是否被遵循都是完全不同的事情!

这是一个开源软件 - 它不需要你购买任何东西,但我担心你将不得不投入一些时间来确定一个包装是否符合你的要求。

确定宝石的最近发布时间以及发生了多少次以及频率更新是相对简单的。这些指标表明,消息来源正在积极维护,而且这种努力正在继续发挥作用。您还可以查看测试(通常与软件包一起安装),错误跟踪设施,讨论组或论坛等的存在,以评估开发人员的承诺程度以及周围的渗透和社区数量。代码。

除此之外,你还希望什么?物有所值?一些中央权威机构认可适合图书馆的目的?它不会很快发生,这可能是平衡的,也不是坏事。

答案 2 :(得分:0)

如果您使用detailsall选项,您可以在搜索结果中获得更多可能有助于缩小搜索范围的细节:

gem search activeldap --remote --details --all

all显示版本列表。

部分输出:

activeldap (1.0.2, 1.0.1, 1.0.0, 0.10.0, 0.9.0)
    Authors: Will Drewry, Kouhei Sutou
    Rubyforge: http://rubyforge.org/projects/ruby-activeldap
    Homepage: http://rubyforge.org/projects/ruby-activeldap/

    Ruby/ActiveLdap is a object-oriented API to LDAP

ambitious-activeldap (0.1.1, 0.1.0)
    Author: Matthew King
    Rubyforge: http://rubyforge.org/projects/ambition
    Homepage: http://ambition.rubyforge.org/

    An ambitious adapter for ActiveLDAP

除此之外,正如迈克所说,这是一个在网络上试图找出最相关版本的问题。

有一点需要注意:2007年中期在Ruby / Rails社区向Github批量迁移。因此,如果您发现了某些东西,但它不在Github上,请确保它不是一些已被取代的旧版本。