1

似乎没有关于 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 框架中是否有一种方法可以区分它们,而无需谷歌寻找答案。例如,一个简短的文档字符串,还是一个依赖树?

似乎在 Gems 中有很多此类差异。

4

3 回答 3

1

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

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

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

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

于 2009-04-01T22:40:59.143 回答
1

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

这是开源软件——您无需购买任何费用,但恐怕您将不得不花费一些时间来确定一个软件包是否符合您的要求。

确定 gem 的发布时间以及更新的次数和频率相对简单。这些指标表明源正在被积极维护,并且正在努力使其持续相关。您还可以查看测试(通常与软件包一起安装)、是否存在错误跟踪设施、讨论组或论坛等,以评估开发人员的承诺程度以及围绕该项目的渗透和社区数量代码。

除此之外,你还希望什么?性价比?某个中央权威机构认可图书馆的用途?这不会很快发生,而且这可能,总的来说,不是坏事。

于 2009-04-01T23:05:12.827 回答
0

details如果您使用andall选项,您可以在搜索结果中获得更多详细信息,这可能会帮助您缩小范围:

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 上,请确保它不是已被取代的旧版本。

于 2009-04-01T23:33:19.983 回答