Откуда вы знаете, что Gem является правильным? - PullRequest
1 голос
/ 02 апреля 2009

Кажется, что нет никаких рекомендаций по отправке пакетов 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 за ответом? Например, короткая строка документа или дерево зависимостей?

Похоже, что в Gems существует множество таких расхождений.

Ответы [ 3 ]

1 голос
/ 02 апреля 2009

Я думаю, вы могли бы осмотреться и найти руководящие указания, но соблюдают ли они их или нет, это совершенно другой вопрос!

Это программное обеспечение с открытым исходным кодом - вам ничего не стоит покупать, но, боюсь, вам придется потратить некоторое время, чтобы определить, выполняет ли пакет то, что вам нужно.

Определить, как недавно был выпущен драгоценный камень, сколько раз и с какой частотой происходили обновления, относительно просто. Это индикаторы того, что источник активно поддерживается и что его усилия приобретают постоянную актуальность. Вы также можете посмотреть на тесты (обычно устанавливаемые вместе с пакетом), наличие средств отслеживания ошибок, дискуссионных групп или форумов и т. П., Чтобы оценить степень приверженности разработчика (-ов) и степень проникновения и сообщества вокруг код.

Кроме того, на что вы надеялись? Цена денег? Какой-то центральный орган, который аккредитует пригодность для целей библиотеки? Это не произойдет в ближайшее время, и это, вероятно, в итоге, ничего плохого.

1 голос
/ 02 апреля 2009

Если вы устанавливаете гем из-за зависимости в скрипте, вы можете сказать, основываясь на:

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

Кроме этого, я не уверен, чтобы быть полностью честным. Я бы обычно использовал последнюю версию чего-либо в тех случаях, когда требование не указывает, какое из них необходимо.

[править] Я хотел бы использовать тот, который кажется наиболее зрелым первым (1,0 над 0.X). [/ Править]

0 голосов
/ 02 апреля 2009

Вы можете получить более подробную информацию в результатах поиска, которая может помочь вам сузить ее, если вы используете опции details и all:

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, убедитесь, что это не старая версия, которая была заменена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...