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」は単なる古いバージョンです。

Google で答えを探すことなく、Gems フレームワーク内でそれらを区別する方法はありますか。たとえば、短いドキュメント文字列、または依存関係ツリーですか?

ジェムにはこの種の不一致がたくさんあるようです。

4

3 に答える 3

1

ガイドラインは見ればわかると思いますが、それに従っているかどうかは別問題です。

これはオープン ソース ソフトウェアです。購入するのに費用はかかりませんが、残念ながら、パッケージが目的どおりに機能するかどうかを判断するには、ある程度の時間を費やす必要があります。

gem がリリースされたのはいつ頃で、更新が行われた回数と頻度を特定するのは比較的簡単です。これらは、ソースが積極的に維持されており、その努力がその継続的な関連性に向けられていることを示しています。また、テスト (通常はパッケージと共にインストールされます)、バグ追跡機能の存在、ディスカッション グループまたはフォーラムなどを調べて、開発者の関与の程度、およびその周りの浸透度とコミュニティの量を評価することもできます。コード。

それ以上に、何を望んでいましたか?お金の価値?図書館の目的への適合性を認定する中央機関はありますか? それはすぐには起こらないだろうし、それはおそらく全体として、悪いことではない.

于 2009-04-01T23:05:12.827 に答える
1

スクリプトの依存関係のために gem をインストールしている場合は、以下に基づいて判断できる場合があります。

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

それ以外は、完全に正直であるかどうかはわかりません。require で必要なものが指定されていない場合は、通常、何かの最新バージョンを使用します。

[編集] 最初に最も成熟しているように見えるものを使用します (0.X よりも 1.0)。[/編集]

于 2009-04-01T22:40:59.143 に答える
0

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

さらに言えば、Mike が言ったように、最も関連性の高いバージョンはどれかを突き止めるには、Web をいろいろと調べてみる必要があります。

1 つの注意点: 2007 年半ば頃に Ruby/Rails コミュニティで Github への大規模な移行が行われました。そのため、Github にないものを見つけた場合は、それが古いバージョンに取って代わられていないことを確認してください。

于 2009-04-01T23:33:19.983 に答える