gemコマンドとは
他のプログラミング言語と同じように、Rubyにも便利なライブラリがたくさんあって、それらを使うことでより簡単に速くプログラムを作ることができます。Rubyのパッケージ(=ライブラリ)はgemと呼ばれていて、RubyGems.orgなどで公開されています。
gemコマンドは、パッケージ管理用のコマンドです。gemコマンドを使うことで、簡単にパッケージのインストールやアンインストールができます。(Ruby 1.9から標準)
gemコマンドの使い方
gemコマンドの代表的な使い方を説明します。
インストール
gem install <gem>
で、gemをインストールします。複数gemをまとめてインストールする場合は、gem install <gem1> <gem2> …です。
特定のバージョンを指定するには、-vオプションを使ってgem install <gem> -v <version>とするか、:で区切ってgem install <gem>:<version>とします。
複数gemをバージョンも指定してインストールする場合には、-vオプションは使えないので:を使うように注意しましょう。
アンインストール
gem uninstall <gem>
で、gemをアンインストールします。複数個のgemをまとめてアンインストールする場合は、gem uninstall <gem1> <gem2> …です。
アップデート
gem update [<gem>]
で、インストール済みのgemをアップデートします。すべてのgemをアップデートするにはgem update、特定のgemのみアップデートするにはgem update <gem>を実行します。
gemを探す
gem search <keyword>
で、gemを探すことができます。
インストール済みgemの一覧を確認する
gem list
で、インストール済みgemの一覧を確認できます。
インストール済みgemの情報を確認する
gem info <gem>
で、インストール済みgemの情報を確認できます。
gemの使い方を調べる
gem help
で、gemの使い方を調べることができます。
gemのコマンド一覧を調べる
gem help commands
で、gemのコマンド一覧を調べることができます。
gemのコマンドの使い方を調べる
gem help <command>
で、コマンド(gem installなど)の使い方を調べることができます。
実際に書いてみよう
ターミナルで実行して試してみましょう。
インストール
1つのgemをインストール
$ gem install multi_json Fetching multi_json-1.13.1.gem Successfully installed multi_json-1.13.1 Parsing documentation for multi_json-1.13.1 Installing ri documentation for multi_json-1.13.1 Done installing documentation for multi_json after 0 seconds 1 gem installed
複数のgemをインストール
$ gem install multi_json oj Fetching multi_json-1.13.1.gem Successfully installed multi_json-1.13.1 Parsing documentation for multi_json-1.13.1 Installing ri documentation for multi_json-1.13.1 Done installing documentation for multi_json after 0 seconds Building native extensions. This could take a while... Successfully installed oj-3.7.11 Parsing documentation for oj-3.7.11 Done installing documentation for oj after 0 seconds 2 gems installed
バージョンを指定してインストール
$ gem install multi_json:1.13.0 Fetching multi_json-1.13.0.gem Successfully installed multi_json-1.13.0 Parsing documentation for multi_json-1.13.0 Installing ri documentation for multi_json-1.13.0 Done installing documentation for multi_json after 0 seconds 1 gem installed
アンインストール
1つのgemをアンインストール
$ gem uninstall multi_json Successfully uninstalled multi_json-1.13.1
複数のgemをアンインストール
$ gem uninstall multi_json oj Successfully uninstalled oj-3.7.11 Successfully uninstalled multi_json-1.13.1
アップデート
$ gem update multi_json Updating installed gems Updating multi_json Fetching multi_json-1.13.1.gem Successfully installed multi_json-1.13.1 Parsing documentation for multi_json-1.13.1 Installing ri documentation for multi_json-1.13.1 Installing darkfish documentation for multi_json-1.13.1 Done installing documentation for multi_json after 0 seconds Parsing documentation for multi_json-1.13.1 Done installing documentation for multi_json after 0 seconds Gems updated: multi_json
gemを探す
$ gem search rails *** REMOTE GEMS *** aa-rails4 (0.6.0) aaronchi-jrails (0.5.1) aavkontakte-rails3 (0.1.9) ab-experiments-rails (0.0.3) abcjs-rails (3.0.1) # 省略
インストール済みgemの一覧を確認する
$ gem list *** LOCAL GEMS *** actioncable (5.2.2) actionmailer (5.2.2) actionpack (5.2.2) actionview (5.2.2) # 省略
インストール済みgemの情報を確認する
$ gem info actioncable *** LOCAL GEMS *** actioncable (5.2.2) Authors: Pratik Naik, David Heinemeier Hansson Homepage: http://rubyonrails.org License: MIT Installed at: /Users/17num/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0 WebSocket framework for Rails.
gemの使い方を調べる
$ gem help RubyGems is a sophisticated package manager for Ruby. This is a basic help message containing pointers to more information. Usage: gem -h/--help gem -v/--version gem command [arguments...] [options...] # 省略
gemのコマンド一覧を調べる
$ gem help commands GEM commands are: build Build a gem from a gemspec cert Manage RubyGems certificates and signing settings check Check a gem repository for added or missing files # 省略
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 # 省略
コメント