Gemのよく使うコマンドについて使い方をまとめました。オプションとかも全ては書けないので必要かなと思うものだけにしてます。
インストール
Gemをインストールする場合はgem install [gemname] [options]
コマンドを実行します。
オプション | 機能 |
---|---|
-v, --version | バージョン指定 |
--[no-]document | RDoc / riドキュメントをインストールする / しない |
バージョンの指定についてはいくつか方法があります。
指定方法 | 意味 |
---|---|
"= x.x.x", x.x.x | x.x.xバージョン |
">= x.x.x" | x.x.x以上のバージョン |
">= x.x.x, < y.y.y" | x.x.x以上、y.y.y未満のバージョン |
"~> 2.0" | 2.xの最新バージョン |
"~> 2.1.0" | 2.1.xの最新バージョン |
ドキュメントのオプションについては--[no-]rdoc
と--[no-]ri
がよく出てきますが、今は非推奨になってます。ただし、Ruby1.9系の場合は--[no-]document
は使えないみたいです。
毎回オプションを付けるのが面倒な人は~/.gemrc
で以下を追加しておきます。
install: --no-document update: --no-document
インストール済みGemのRDocとriをインストールする場合は次のコマンドを使います。--all
とすると全てのGemが対象になりますが、特定のGemを指定することもできます。
$ gem rdoc --all --ri
RDocドキュメントを見たい場合はgem server
コマンドを実行してブラウザでhttp://localhost:8808
にアクセスします。
$ gem server Server started at http://0.0.0.0:8808 Server started at http://[::]:8808
オプションは他にも色々あるので気になる人はReferenceを見て下さい。
Command Reference [gem-install] - RubyGems Guides
アンインストール
Gemをアンインストールする場合はgem uninstall [gemname] [options]
コマンドを実行します。
Command Reference [gem-uninstall] - RubyGems Guides
Gemを探す
ローカルまたはリモートにあるGemパッケージを検索するには、gem list [STRING] [options]
かgem search [STRING] [options]
コマンドを使いますが、この2つはほぼ同じ動作をします。
list
コマンドの場合はデフォルトでローカルを検索し、search
コマンドの場合はリモートを検索するので、インストール済みのGemを検索する場合はlist
インストールしてないGemの検索にはsearch
を使い分けるのがいいかと思います。
オプション | 機能 |
---|---|
-d, --[no-]details | Gemに関する詳細を表示する |
-l, --local | localを対象とする |
-r, --remote | remoteを対象とする |
-b, --both | local, remoteどちらも対象とする |
-a, --all | Gemのバージョンを全て表示 |
gem list
でGem名とオプションを省略した場合はローカルにインストールされている一覧が表示されます。gem search
とするとリモートのGemが全て表示されてしまいますのでやめましょう。
$ gem list *** LOCAL GEMS *** bigdecimal (1.2.4) bundler (1.7.9) coderay (1.1.0) io-console (0.4.2) ...
検索には正規表現を使う事もできます。というか使った方がいいです。
$ gem search ^rails$ -a *** REMOTE GEMS *** rails (4.2.0, 4.1.9, 4.1.8, 4.1.7.1, 4.1.7, 4.1.6, 4.1.5, 4.1.4, 4.1.3, 4.1.2, 4.1.1, 4.1.0, 4.0.13, 4.0.12, 4.0.11.1, 4.0.11, 4.0.10, 4.0.9, 4.0.8, 4.0.7, 4.0.6, 4.0.5, 4.0.4, 4.0.3, 4.0.2, 4.0.1, 4.0.0, 3.2.21, 3.2.20, 3.2.19, 3.2.18, 3.2.17, 3.2.16, 3.2.15, 3.2.14, 3.2.13, 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.12, 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.18, 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)
listコマンドでも同じ事ができます。
$ gem list ^rails$ -ra *** REMOTE GEMS *** rails (4.2.0, 4.1.9, 4.1.8, 4.1.7.1, 4.1.7, 4.1.6, 4.1.5, 4.1.4, 4.1.3, 4.1.2, 4.1.1, 4.1.0, 4.0.13, 4.0.12, 4.0.11.1, 4.0.11, 4.0.10, 4.0.9, 4.0.8, 4.0.7, 4.0.6, 4.0.5, 4.0.4, 4.0.3, 4.0.2, 4.0.1, 4.0.0, 3.2.21, 3.2.20, 3.2.19, 3.2.18, 3.2.17, 3.2.16, 3.2.15, 3.2.14, 3.2.13, 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.12, 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.18, 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)
Command Reference [gem-list] - RubyGems Guides
Command Reference [gem-search] - RubyGems Guides
アップデートの確認
gem outdated [options]
コマンドを使うとアップデートのあるGemを確認できます。
$ gem outdated bigdecimal (1.2.4 < 1.2.5) bundler (1.7.9 < 1.7.11) json (1.8.1 < 1.8.2) ...
Command Reference [gem-outdated] - RubyGems Guides
アップデート
Gemをアップデートするにはgem update [gemname] [options]
コマンドを使います。Gem名を省略した場合は全て対象になります。
$ gem update rdoc --no-document Updating installed gems Updating rdoc Fetching: rdoc-4.2.0.gem (100%) rdoc's executable "rdoc" conflicts with /Users/tasukujp/.rbenv/versions/2.1.5/bin/rdoc Overwrite the executable? [yN] y ... Gems updated: rdoc
Command Reference [gem-update] - RubyGems Guides
Gemの掃除
アップデートすると古いバージョンのGemも残ります。gem list
で確認するとバージョンが複数表示されてるのがそうです。
$ gem list *** LOCAL GEMS *** bigdecimal (1.2.5, 1.2.4) bundler (1.7.11, 1.7.9) coderay (1.1.0) io-console (0.4.2) json (1.8.2, 1.8.1) ...
gem cleanup [gemname] [options]
コマンドを使うと古いバージョンのGemを削除してくれます。Gem名を省略した場合は全て対象になります。
$ gem cleanup bundler Cleaning up installed gems... Attempting to uninstall bundler-1.7.9 Successfully uninstalled bundler-1.7.9 Clean Up Complete
Command Reference [gem-cleanup] - RubyGems Guides
Gemの場所を探す
gem which [gemname] [options]
コマンドでインストールしたGemのPATHが分かります。
$ gem which bundler /Users/tasukujp/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/bundler-1.7.11/lib/bundler.rb
Command Reference [gem-which] - RubyGems Guides
ヘルプ
Gemコマンドの使い方を調べます。
$ gem help install Usage: gem install GEMNAME [GEMNAME ...] [options] -- --build-flags [options] Options: --platform PLATFORM Specify the platform of gem to install -v, --version VERSION Specify version of gem to install --[no-]prerelease Allow prerelease versions of a gem to be installed. (Only for listed gems) ...
Command Reference [gem-help] - RubyGems Guides
environment
コマンドを使うと色々な情報が見れます。
$ gem environment RubyGems Environment: - RUBYGEMS VERSION: 2.4.5 - RUBY VERSION: 2.1.5 (2014-11-13 patchlevel 273) [x86_64-darwin14.0] - INSTALLATION DIRECTORY: /Users/tasukujp/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0 - RUBY EXECUTABLE: /Users/tasukujp/.rbenv/versions/2.1.5/bin/ruby - EXECUTABLE DIRECTORY: /Users/tasukujp/.rbenv/versions/2.1.5/bin - SPEC CACHE DIRECTORY: /Users/tasukujp/.gem/specs - SYSTEM CONFIGURATION DIRECTORY: /Users/tasukujp/.rbenv/versions/2.1.5/etc - RUBYGEMS PLATFORMS: ...
Command Reference [gem-environment] - RubyGems Guides
Gemのコマンドはgem e
またはgem env
のように他のコマンドと重複しない位置まで省略することもできます。