rubygemsのgemコマンドオプションのいろいろ
rubygemsをインストールされている環境でgemパッケージをインストールするときは、お決まりのコマンドを実行されているかと思います。
$ gem install [gemパッケージ名]
これだと、デフォルトのhttp://gems.rubyforge.org/のみしか検索対象にならず、rubyforgeに登録されていないgemパッケージはローカルにダウンロードしてきてインストールするなどしなければなりません。
そんなときは、サブコマンドでsourcesを指定することで検索対象URLを追加することができます。
利用方法は下記の通りです。
$ gem help sources
gem help sources
Usage: gem sources [options]
Options:
-a, --add SOURCE_URI Add source
-l, --list List sources
-r, --remove SOURCE_URI Remove source
-c, --clear-all Remove all sources (clear the cache)
-u, --update Update source cache
Common Options:
-h, --help Get help on this command
-V, --[no-]verbose Set the verbose level of output
-q, --quiet Silence commands
--config-file FILE Use this config file instead of default
--backtrace Show stack backtrace on errors
--debug Turn on Ruby debugging
Summary:
Manage the sources and cache file RubyGems uses to search for gems
Defaults:
--list
デフォルトの検索対象URLを確認してみます。
$ gem sources -l
CURRENT SOURCES ***
確かにrubyforgeのみです。
これにgithubなどを追加する場合は、以下のコマンドを発行します。
$ gem sources -a http://gems.github.com/
念のために追加されたかどうかを確認してみます。
$ gem sources -l
CURRENT SOURCES ***
コマンドで検索対象パスを追加するのが時間がかかり面倒だ!という方は、
gem installやgem sourcesコマンドを実施する作業ユーザの
ホームディレクトリ以下の.gemrcファイルに直接追記しちゃいましょう。
$ vi ~/.gemrc
- -
- verbose
- true
- sources
- update_sources
- true
- backtrace
- false
- bulk_threshold
- 1000
- benchmark
- false
これで検索対象URLの追加は完了です。
この他にもrubygemsの各種設定を確認するためのコマンドも用意されているようです。
サブコマンドとしてenvironmentを指定してみましょう。
$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.2.0
- RUBY VERSION: 1.8.7 (2008-08-08 patchlevel 71) [i686-linux]
- INSTALLATION DIRECTORY: /usr/local/ruby/1.8.7/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /usr/local/ruby/1.8.7/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/ruby/1.8.7/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /usr/local/ruby/1.8.7/lib/ruby/gems/1.8
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- :sources => ["http://gems.rubyforge.org/", "http://gems.github.com/"]
- REMOTE SOURCES:
- http://gems.rubyforge.org/
- http://gems.github.com/
#GEM CONFIGURATIONのbenchmarkとbacktraceが気になる。。。あとで調べてみようっと。