73
72

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RubyGemsの探し方

Last updated at Posted at 2014-04-20

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というオプションもあるが、どのような基準なのかよく分からない。 

73
72
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
73
72

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?