Blowin' in the Wind

~ memorandum ~

RubyGemsについて

RubyGemsとは

RubyGemsは、Ruby言語用のパッケージ管理システムであり、Rubyのプログラムと("gem" と呼ばれる)ライブラリの配布用標準フォーマットを提供している。gemを容易に管理でき、gemを配布するサーバの機能も持つ。Rubyバージョン1.9以降では標準ライブラリの一部となっている。    

RubyGems - Wikipedia

RubyGemsの歴史

主要開発者 Chad Fowler 氏に開発の経緯

RubyGems の現在

使いかた

ライブラリを探す

Ruby のライブラリは主に RubyGems.org に gem として置かれている。直接ウェブサイトを閲覧したり、gem コマンドを使用してそれらを探すことができる。(gemコマンドについて知るにはRubyGems' docsを参照)

また、Ruby プロジェクトを探索しやすくするThe Ruby Toolbox もあり。

尚、gem としては RubyGems.org に公開されますが、gem のソースコードのほとんどは GitHub 上で確認可。

gemを探すコマンドは「list」「search」。
list と search は機能的に同じであるが、検索先のデフォルト指定が、ローカルとなっているか、リモートになっているかが違う。

従って、入手可能なgemの検索は search、インストール済みのgemの検索は list を使う等、使い分けるのが便利。

  • 入手可能なgemを検索
    $ gem list -r (オプションのrを指定しなければデフォルトはローカル(インストール済みgemを表示。-r 指定でRubyGemsのリモートリポジトリを検索し入手可能なgemを表示)
    $ gem search (オプションのrを指定しなければデフォルトはリモート)
  • インストール済みのgemを調べる
    $ gem list (オプションの l を指定しなければデフォルトはl:ローカル)
    $ gem search -l (オプションの l を指定しなければデフォルトはr:リモート)
  • 文字列で入手可能なgemを検索(正規表現指定も可)する
    $ gem list -r 検索したい文字列 (例:$ gem search -r html5
    $ gem search 検索したい文字列 (例:$ gem search html5
  • インストール済みのgemを文字列で検索する
    $ gem list 検索したい文字列
    $ gem search -l 検索したい文字列

gemのインストールとアンインストール

  • インストール
    $ gem install 対象gem名 (例:$ gem install rails
  • バージョンを指定したインストール
    $ gem install -v 対象gem名
  • アンインストール
    $ gem uninstall 対象gem名

gemのアップデートの確認とアップデートとクリーンナップ

  • アップデートのあるgemを確認
    $ gem outdated
  • gemのアップデート(gem名を省略した場合は全て対象)
    $ gem update アップデート対象gem名
  • gemの掃除(アップデートすると古いバージョンのgemはそのまま残るが、cleanupコマンドで古いバージョンのGemを削除。gem名を省略した場合は全て対象)
    $ gem cleanup 対象gem名

gemの場所を探す

  • コマンドでインストールしたgemのPATHを調査する
    $ gem which 対象gem名

ヘルプ

  • 使用できるコマンドの一覧を表示する
    $ gem help commands
  • コマンドのヘルプを表示する
    $ gem help コマンド名

参考サイト

ライブラリ

【Ruby】Gemコマンドの使い方まとめ - TASK NOTES

そろそろ整理しておきたい、Gemコマンドの使い方 - ばくのエンジニア日誌