RubyGemsとはRuby言語用のパッケージ管理システム。世界中のRuby開発者によって作成されたgemファイルは、rubygems.orgを利用して検索・ダウンロードすることができるようになっています。
今回紹介する「gem-codesearch」は、このrubygems.orgの完全ミラーをローカルに構築し、フルテキストサーチを実現する豪快なソフトウェアです。
ローカルにrubygemsのミラーを構築するため、完全にシステムを構築する場合400GBほどのディスクスペースが必要になるとのことですが、リソースに余裕のある開発者ならば試してみる価値はあるでしょう。
以下使用法を説明します。
目次
gem-codesearchの使用方法
gem-codesearchはGoogleが作成したcodesearchと呼ばれるツールを利用します。codesearchは以下のようにして事前にインストールしておきます。
#DebianベースのLinuxの場合 sudo aptitude install codesearch #macOSなどその他システムの場合 go get github.com/google/codesearch/cmd/...
次にgem-codesearch本体をインストールします。
% gem install gem-codesearch % mkdir $HOME/gem-codesearch # ディレクトリの作成 % cd $HOME/gem-codesearch % gem-codesearch-setup all >& setup.log # 数日かかるかも…
▲gem-codesearch-setupでミラー構築していますが、最初に述べたとおりかなりの容量なので時間がかかります。
% csearch sort_by
▲インデックスが構築された後は、csearchコマンドを利用して検索できます。
% gem install milkode % milk init --default # milkodeを最小に使用する場合。 % rake mirror unpack index_milkode >& setup.log
▲codesearchではなくてmilkodeを使うこともできます。
まとめ
ストレージを大量に消費するのが最大のネックですが、ミラーが構築できると誰にも気兼ねなくRuby関連の膨大なソースコードを検索しまくることができます。ストレージやネットワーク回線に余裕のある方は、この富豪的ソフトウェアを試してみてはいかがでしょうか。