gemかわいいよgem
Rubygems(gem)って?
Ruby用のパッケージ管理システムです。ジェムって発音されるようです。
コマンド一つでパッケージをインストール・削除・更新などできるので便利です。
さらにbundlerも入れておければ設定ファイルに書いておいたものも一括で導入できます。
はい、釈迦に説法ですね。すみません
Rubygemsコマンド一覧
RubyGems Guideでコマンド一覧が見れます。
その中からよく使うものをリストアップ
インストール
必要なgemが予め決まっているならこれでインストール
# 最新のものを導入
$ gem install <gem名>
# バージョン指定で導入
$ gem install <gem名> -v <バージョン>
# RI,RDocドキュメントを入れない(インストールが早い)
$ gem install <gem名> --no-ri --no-rdoc
アンインストール
gemが不要になった場合にアンインストール
# 不要なgemをアンインストール
$ gem uninstall <gem名>
インストール済みGemをリストアップ
何をインストールしたか確認したいときにはこれで確認
# 単純にキーワードで検索
$ gem list <キーワード>
gemをキーワード検索
gemをキーワード検索したい場合に使います。#一応正規表現も使えます。
# 単純にキーワード検索(キーワードが短いと山ほど余計なものがでることも)
$ gem search <キーワード>
# リモートのgemをキーワード検索
$ gem search -r <キーワード>
gemの高度な検索
ローカルまたはリモートのgemを正規表現を使って検索したい場合に使います。
searchよりもこっちを覚えたほうがいいかもしれませんね。
# 特定gemの利用可能なバージョン一覧(例えばrailsとか)
$ gem query -ra -n "^<gem名>$"
もうこれ覚えておけば十分でしょう。
[opsions]
-i, --[no-]installed - インストール済みかどうかを指定
-v, --version VERSION - バージョン指定
-n, --name-matches REGEXP - 正規表現を指定
-a, --all - すべてのgemバージョンを表示
-r, --remote - リモートのgemを指定
-b, --both - ローカルとリモートの両方を指定
アップデートが必要なgemをリストアップ
ずっと使っていると更新が必要になってきますが、更新前に一度確認しておきたいときに使います。
$ gem outdated
gemをアップデート
gemを新しいバージョンに更新したいときに使います。
# インストール済み全gemを更新
$ gem update
# 指定gemを更新
$ gem update <gem名>
gemのrdocを生成
gemのソースコードからRDocドキュメント生成する場合に使います。
インストール時に--no-ri --no-rdocしている人など。
# 特定gemのドキュメントを生成
$ gem rdoc --rdoc <gem名>
# インストール済み全gemのドキュメントを生成
$ gem rdoc --all
gemの仕様を確認する
gemの仕様が確認したくなったら使います。
YAML形式でgemの依存関係などが出力されます
$ gem specification <gem名>
gemのオプションなどを調べる
gemの使い方がわからなくなった時に使います。
# gemの実行方法などのヘルプを表示
$ gem help <gem名>
ちょっとしたTips
サブコマンドは省略系で使えます
gem以降のサブコマンドは基本的に他のサブコマンドと重複しない最短の文字列まで短縮できます。
上で上げていないのも含めて以下のように短縮できます。
- gem build → gem b
- gem cert → gem ce
- gem check → gem ch
- gem cleanup → gem cl
- gem contents → gem co
- gem dependency → gem d
- gem environment → gem e
- gem fetch → gem f
- gem generate_index → gem g
- gem help → gem h
- gem install → gem i
- gem list → gem li
- gem lock → gem lo
- gem outdated → gem ou
- gem owner → gem ow
- gem pristine → gem pr
- gem push → gem pu
- gem query → gem q
- gem rdoc → gem r
- gem search → gem sea
- gem server → gem ser
- gem sources → gem so
- gem specification → gem sp
- gem stale → gem st
- gem uninstall → gem uni
- gem unpack → gem unp
- gem update → gem up
- gem which → gem w