もしお手伝いいただけるか、メンテナの一員になりたいという方は、ぜひお手伝いから始めてください。RVM GitHub組織で、より多くのRVM関連プロジェクトを見つけることができます。
フック
RVMはいくつかのフックをサポートしています。
- after_use
- before_install
- after_install
- after_do (任意の'do'アクション後にトリガーされます)
- after_cd (ユーザーがcdコマンドを使用するたびにトリガーされます)
各フックは、`~/.rvm/hooks/[フック名]`にあるファイルであり、そこにbashスクリプトコマンドのシーケンスを配置できます。各フックファイルは実行時にRVM環境全体を使用できます。いくつかの有用なRVM環境変数は以下のとおりです。
- rvm_ruby_string - 選択されたRubyインタープリタを一意に識別するために使用されるRuby文字列。
- rvm_ruby_home - 選択されたRubyインタープリタのインストールを含むディレクトリ。
- rvm_ruby_gem_home - 選択されたRubyインタープリタのgemホームディレクトリ。
- rvm_gemset_name - 現在のgemset名(存在する場合)。
- rvm_ruby_interpreter - 現在選択されているRubyインタープリタ。
- rvm_ruby_version - 現在選択されているRubyバージョン。
- rvm_ruby_patch_level - 現在選択されているRubyパッチレベル(存在する場合)。
- rvm_ruby_revision - 現在選択されているRubyリビジョン(存在する場合)。
- rvm_ruby_tag - 現在選択されているRubyタグ(存在する場合)。
`after_use`、`after_cd`、`after_install`フックの場合、複数のフックファイルが処理されます。RVMはこれらのそれぞれについてメインのフックファイルを提供し、`[フック名]_`で始まるフックディレクトリ内の他のファイルをロードします。実行可能フラグが設定されている各プレフィックス付きフックファイルは、アルファベット順にロードされます。
必要に応じて、他のフックも将来的にはこの規則に従う可能性があります。RVMが更新された場合、これらのラッパーのいずれかで置き換える必要がある既存のフックファイルは`[フック名]_custom`に名前変更されます。
例として、Rubyを切り替えるたびにRuby文字列を出力したいとします。
$ cat > ~/.rvm/hooks/after_use_show_ruby <<EOF > echo "Now using \$rvm_ruby_string" > EOF $ chmod +x ~/.rvm/hooks/after_use_show_ruby
以下のようになります。
$ rvm 1.9.1 Now using ruby-1.9.1-p243 $ rvm 1.8.7 Now using ruby-1.8.7-p174