RubyGemsの探し方

  • 41
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Ruby Toolbox

The Ruby Toolboxはgemをカテゴリ別に分類して人気度順に並べたサイト。大まかな開発状況の推移なども分かる。

awesome-ruby

Sdogruyol/awesome-rubyawesome-phpなどのRuby版。各カテゴリの優れたgemを短い文章で解説する。GitHubで管理されている。

RubyGems.org

RubyGems.orgはgemのホスティングサイト。gem installからインストールできるgemは基本的にここに登録されている。

RubyGems.orgのサイト上の検索システムやgem searchでは、rubygemsのパッケージ名でしか検索できないので、キラキラネームが付いたrubygemsを見逃す可能性がある。

サードパーティーの検索サービスがいくつかある。

  • libraries.io
    • platformにRubygemsを指定する1とrubygemのみを検索できる
    • descriptionなども検索の対象になる
    • 検索結果にはdescriptionのほか、バージョン番号、最終更新日、GitHubのスターの数、ライセンスが表示される
    • GitHubのスターの数、依存されているライブラリの数、最終更新日時、公開日時などでソートできる2
    • ライセンスで絞り込める
    • 検索結果をフィードで取得できる
  • Ruby Gem Search: Search Gems
    • 検索条件を細かく指定できる(gemの説明文(info)、ライセンス、作者名、ダウンロード数、依存ライブラリなど)
    • 結果をダウンロード数などでソートできる
    • 検索条件の指定が煩雑で、検索結果ページにはgemの説明文が表示されない
  • Google

GitHub

RubyGems.orgには登録されていないが、GitHubなどでソースが公開されているgemもある。https://github.com/search?q=foo&type=Repositories&l=Rubyのように言語をRubyに絞ってGitHubのリポジトリ検索を行うと効率よく探せる。(その他の有用なクエリについてはRuby - gemを探す知恵 - Qiitaで詳しく解説されている。)

ただし、拡張ライブラリはRuby以外のコードの比率が高いので、使用言語がRubyと判定されないケースがある(例: flori/json)。この場合はRubyに絞るとヒットしない。

その他

特に実装に手間がかかるジャンルでは、gemのREADMEや作者のブログ記事などで類似のgemがいくつか紹介されていることもある。それぞれのgemの特徴の比較などが付いている場合もあるので、ドキュメントやコードを読んで検討する手間を省くために積極的に活用するとよい。

See also


This document is licensed under CC0.


  1. nokogiriのように、拡張ライブラリはRuby以外の言語に分類されることがある。languageにRubyを指定するとそのようなgemが検索結果から外れる。 

  2. SourceRankというオプションもあるが、どのような基準なのかよく分からない。