こんにちは、鈴木です。
最近は Gem ライブラリの管理は Bundler で行うことが多いですが、Gemfile に書く時に、
- 「あのライブラリの正しい名前はなんだっけ?」
- 「このライブラリの今のバージョンはなんだっけ?」
となることが多いのです。みなさんも同じでしょうか・・?(^^;
そんな時は gem コマンドを使用して検索することが多いです。
今回はよく使う gem コマンドのオプションをまとめようと思います。
Gemライブラリを探す
Gem ライブラリを探すときは「gem search ...」を使用するのですが、なにはともあれ -r オプションを付けます。
-r はリモートリポジトリから検索するためのオプションで、これを付けないとローカルが検索対象になります。
1 2 |
# リモートリポジトリから Gem ライブラリを検索する. gem search -r [文字列] |
部分一致検索する
指定した文字列が部分一致する Gem ライブラリを検索する場合は、以下のようにします。
1 2 3 4 5 6 7 8 9 10 11 |
# 指定した文字列を含む Gem を探します. > gem search -r rails *** REMOTE GEMS *** aavkontakte-rails3 (0.1.7) abcjs-rails (1.5) ace-rails (0.0.2) ... rails (3.2.12) ... |
この例では「rails」を含む Gem ライブラリが一覧表示されます。
部分一致検索なので、指定した文字列によっては結果が大量になる場合もあります。
前方一致/後方一致/完全一致検索する
検索する文字列には、先頭を表す「^」と、末尾を表す「$」を使用することができます。
「^」と「$」を使うことで、前方一致/後方一致/完全一致検索を行うことができます。
「rails」で完全一致検索するには以下のようにします。
1 2 3 4 5 6 |
# ^ と $ を用いることで完全一致検索ができます. > gem search -r ^rails$ *** REMOTE GEMS *** rails (3.2.12) |
ライブラリの最新バージョンがいくつであるか知りたい場合に、完全一致で検索することが多いです。
Gem ライブラリの詳細情報を検索する
Gem ライブラリの詳細情報を知りたい場合は -d オプションを使用します。
1 2 3 4 5 6 7 8 9 10 |
# Gem の詳細情報を知りたい場合は -d オプションを使用します. > gem search -r ^rails$ -d *** REMOTE GEMS *** rails (3.2.12) Author: David Heinemeier Hansson Homepage: http://www.rubyonrails.org Full-stack web application framework. |
ホームページの URL も表示されるので、ライブラリを詳しく調べたい場合に -d オプションを使用することが多いです。
全てのバージョンを表示する
普通に検索すると最新バージョンが表示されますが、過去のバージョン番号を確認したい場合があります。
その場合は、-a オプションを使用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# 全てのバージョンを知りたい場合は -a オプションを使用します. > gem search -r ^rails$ -a *** REMOTE GEMS *** rails (3.2.12, 3.2.11, 3.2.10, 3.2.9, 3.2.8, 3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1, 3.2.0, 3.1.11, 3.1.10, 3.1.9, 3.1.8, 3.1.7, 3.1.6, 3.1.5, 3.1.4, 3.1.3, 3.1.2, 3.1.1, 3.1.0, 3.0.20, 3.0.19, 3.0.18, 3.0.17, 3.0.16, 3.0.15, 3.0.14, 3.0.13, 3.0.12, 3.0.11, 3.0.10, 3.0.9, 3.0.8, 3.0.7, 3.0.6, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.3.17, 2.3.16, 2.3.15, 2.3.14, 2.3.12, 2.3.11, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.2.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.4, 2.0.2, 2.0.1, 2.0.0, 1.2.6, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.6, 1.1.5, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.0, 0.14.4, 0.14.3, 0.14.2, 0.14.1, 0.13.1, 0.13.0, 0.12.1, 0.12.0, 0.11.1, 0.11.0, 0.10.1, 0.10.0, 0.9.5, 0.9.4.1, 0.9.4, 0.9.3, 0.9.2, 0.9.1, 0.9.0, 0.8.5, 0.8.0) |
rails の場合はこんな結果になりました(本当は一行で出力されますが、適宜改行を入れました)。
インストール済みの Gem ライブラリを確認する
一覧表示する
インストール済みの Gem ライブラリを一覧表示するには、以下のようにします。
1 |
gem list |
以下のように特定の Gem を検索することもできます(gem search と同様に)。
1 |
gem list ^rack$ |
「gem search [文字列]」のときと同様に「^」や「$」を使用することができます。
余談ですが、Rails2 プロジェクトで rack の脆弱性対応を行う時に、上記コマンドでインストール済みの rack のバージョンを確認しました。
インストールされているパスを確認する
インストール済みの Gem ライブラリのパスを確認するには、以下のようにします。
1 |
gem which rails |
Gem ライブラリのソースコードを確認する必要がある場合は「gem which ...」で調べると良いでしょう。
以下のようにすれば、rails がインストールされているディレクトリに一発で移動することができます。
1 |
cd $(dirname `gem which rails`) |