アインシュタインの電話番号
2011.05.14
RubyGemsでgemのインストール時に--no-ri --no-rdocをデフォルトにする

Rubyでgemをインストールするときに、ドキュメントをインストールしないオプション--no-ri --no-rdocをデフォルトで付けるようにする方法について。毎回手動でオプションを指定してたんだけど、忘れてしまうことが多くて、忘れた場合は実行した後にドキュメントのインストールが始まって気づくことになりウボァとなる。これを忘れるとインストール時間が倍くらいになるので、個人的には常に付けたい。

DHHもこのオプションをデフォルトにしようと言ってるみたい。最近のRubyGemsではデフォルトになったりしてるのかな? 自分の使ってるRubyGemsはちょっと古いヤツ(1.6.2とか)なので、まだデフォルトにはなっていない。

.gemrcを作成して、デフォルトで--no-ri --no-rdoc

以下の内容を記述した.gemrcファイルを作成し、ホームディレクトリに配置する。

gem: --no-ri --no-rdoc

Windowsの場合は、デフォルトの状態ではそれぞれ以下の位置に配置すればおk

  • Windows XP: C:\Documents and Settings\ユーザー名\.gemrc
  • Windows VISTA/7: C:\Users\ユーザー名\.gemrc

これだけで、通常使うgem installgem updateコマンドに、デフォルトで--no-ri --no-rdocオプションが付くようになる。

Bundlerの場合

Bundlerでbundle installを使った場合は、どうなんだろう? ちょっとだけ調べてみたけどよくわからなかった。ちなみに自分がよく使う、プロジェクトディレクトリに該当するgemをインストールするオプション付きだと、

$ bundle install --path vendor/bundle

これによって生成される以下のパスのdocフォルダの中は空っぽ。

./vendor/bundle/ruby/1.8/doc

これは、前述の.gemrcを作っていてもいなくても、空っぽなので、Bundlerデフォルトで--no-ri --no-rdoc的な動作をするのかなぁと思ったけど実際はどうなんだろう。


gemのインストール時に--no-ri --no-rdocをフォルトにする方法 ~/.gemrcの作成場所は? - babydaemonsの日記