direnvをお勧めします。シェル用の環境スイッチャーです。
各プロンプトの前に、現在のディレクトリと親ディレクトリに「.envrc」ファイルが存在するかどうかを確認します。ファイルが存在する (および承認されている) 場合、ファイルは bash サブシェルに読み込まれ、エクスポートされたすべての変数が direnv によってキャプチャされ、現在のシェルで使用できるようになります。
ruby-install でdirenv を使用する方法は次のとおりです。
+ ルビーインストール
これを~/.direnvrc
use_ruby() {
local ruby_root=$HOME/.rubies/$1
load_prefix "$ruby_root"
layout_ruby
}
ruby-install ( brew install ruby-install
) をインストールして、大量の ruby をインストールします。
ruby-install ruby 1.9.3
ruby-install ruby 2.0.0
ruby-install ruby 2.2.0
次に、便宜上、いくつかのシンボリックリンクを作成します。
ln -s .rubies/1.9 ruby-1.9.3-p*
ln -s .rubies/2.0 ruby-2.0.0
ln -s .rubies/2.2 ruby-2.2.0
そして最後に、任意のプロジェクトで.envrc
:
use ruby 2.0
これにより、すべての gem がプロジェクトの.direnv/ruby
ディレクトリに配置されます (gem を開くのが簡単になります)。bundler はラッパー バイナリを配置します .direnv/bin
(これ以上はありませんbundle exec
!)。
+ rbenv
use rbenv
任意のファイルにコマンドを追加して rbenv を使用することもでき.envrc
ます。これにより rbenv がアクティブになり、Ruby ラッパーが PATH に入れられます。
これが機能するために、.bashrc または .zshrc に rbenv をインストールする必要はないことに注意してください。
+ RVM
以下は、私が Ruby プロジェクトで使用する最も複雑な .envrc です。
rvm use 1.8.7
layout ruby
PATH_add .direnv/bundler-bin
rvm は、適切な Ruby バージョンを選択するために使用されます
レイアウト コマンドは、通常の環境変数の一部を自動的に設定します。今のところ、ルビ レイアウトのみが存在します。それが行うことは、GEM_HOME 環境変数とその bin ディレクトリをパスに設定することです。ruby のバージョンに依存するため、必ず "rvm" の後に呼び出してください。各 ruby レイアウト ディレクトリには独自の GEM_HOME があるため、rvm の gemsets を使用する必要はありません。
PATH_add は、指定された相対パスを先頭に追加して展開します。その場合、これを使用して、バンドラーの binstub を独自の bin スクリプトから分離します。bundle install --binstubs .direnv/bundler-bin
これらのコマンドが正確に何をするかを知りたい場合は、今のところ次のようにしますdirenv stdlib
。以下