gem コマンドの使い方

参考:

初心者は覚えておきたい Rubygems のコマンドまとめ – Qiita

Gem コマンドの使い方まとめ | TASK NOTES

RubyGems の使い方 | WebOS Goodies

bundler を使った RubyGems の管理について | 30歳からのプログラミング

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

ドキュメント

参考:

Command Reference | RubyGems.org [Official]

ヘルプ

ヘルプを表示する。

$ gem help

コマンド一覧を表示する。

$ gem help commands

参考:

gem help | RubyGems Guides [Official]

gem list コマンド

参考:

gem list | RubyGems Guides

How do I list all versions of a gem available at a remote site? – Stack Overflow

gem install コマンド

参考:

gem install | RubyGems Guides [Official]

gem update コマンド

インストール済み gem のバージョンを更新する。

参考:

gem update | RubyGems Guides [Official]

gem cleanup コマンド

gem の古いバージョンをアンインストールする。

参考:

gem cleanup | RubyGems Guides [Official]

gem search コマンド

名前が一致する gem のみを表示する。

$ gem search rails -e

全てのバージョンを表示する。

$ gem search bundler -ae

-a / --all:全てのバージョンを表示する。

-e / --exact:名前が一致する gem のみを表示する。(指定しない場合は部分一致を含む。)

参考:

gem search | RubyGems Guides [Official]

ビルドとインストール

$ git clone https://github.com/user/gem_name.git -b v1.2.3 --depth 1
$ cd gem_name
$ gem build gem_name.gemspec
$ gem install gem_name-1.2.3.gem

参考:

git で clone した gem をインストールする | DIGITAL SQUADブログ

git clone でもってきたローカル gem をインストールする方法 | DQNEO 起業日記

gem build | RubyGems Guides [Official]

環境を確認する

$ gem environment

もしくは、省略して

$ gem env

参考:

Ruby が参照してる gem のパスやインストール済 gem を確認する方法 – Qiita

インストール先を確認する

$ gem env gemdir

もしくは、

$ gem env home

参考:

Gem パッケージのインストール先を調べる | まくまくRubyノート

Where do gems install? – Stack Overflow

--no-document

参考:

gem のインストールで `--no-document` を付けると77倍早い – Qiita

gem install --no-ri --no-rdoc は gem install -N にした方が良い – Qiita

gemrc の --no-ri と --no-rdoc、deprecated な option なのでみなおしたほうがいいかもですよ – Qiita

.gemrc

参考:

gem のインストール先に rbenv が指すものと Gem.user_dir があることを知らなくてハマった話 | わすれっぽいきみえ

gem_dir

※メンテナンスされていない。

参考:

mperham/gem_dir: Adds the ‘gem dir’ command to RubyGems to display the root directory of a given gem – GitHub

peco で gem のディレクトリに移動する

参考:

peco で bundler 管理下にある gem のディレクトリに移動する – Qiita

依存を考慮せずに一つの gem だけをインストールする

参考:

Removing a dependency while installing a gem? – Stack Overflow

デフォルト gem

  • デフォルト gem は、$(gem env gemdir)/specifications/default ディレクトリに gemspec がある。
  • アンインストールできない。(更新はできる。)
  • gem list でバージョン番号が default: x.y.z と表示される。
  • デフォルト gem は bundle していなくても require で読み込める。(新しい gem を bundle でインストールしている場合に、新しい gem に存在せずに デフォルト gem に存在するファイルが読めてしまう。バグ?仕様?)

デフォルト gem の gemspec を確認する。

$ ls "$(gem env gemdir)/specifications/default"

参考:

bundled gem と default gem の違い | @znz blog

bundled gem と default gem の違いの具体例 | @znz blog

Standard Gems (stdgems.org)

バージョンコンフリクト

  • Gemfile に記述したバージョンに矛盾があり解決できない。→ Gemfile を編集する。(もしくは、必要に応じて各 gem の gemspec を修正する。)
  • Gemfile.lock に記述されているバージョンと矛盾がある。→ bundle update
  • 何かがバグっている。→ Gemfile.lockvendor/bundle を削除して、最初から bundle install をやり直す。
  • Bundler のバージョンが合っていない。→ gem install bundler で Bundler をインストールする。もしくは、gem update bundler で Bundler のバージョンを更新する。

参考:

Rails5 で bundle install をするときにバージョンコンフリクトでつまったメモ – Qiita

specific_install

GitHub から gem をインストールするための gem specific_install コマンドを追加する gem。

参考:

rdp/specific_install: rubygems plugin to allow you to install an “edge” gem straight from its github repository – GitHub

gem install で GitHub リポジトリにある最新版をインストールする – Qiita

GitHub のリポジトリから直接 gem install する | deadwood

GitHub のブランチにある gem をインストールする方法 | noanoa 日々の日記

Tagged:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です