direnvを使って実行環境(perlとか)の切り替え

plenv の話を聞いていて、別解もありそうだなと思ってググったらあった。以下手順

  1. direnv をインストールする
  2. .bashrc あるいは .zshrc の末尾に "eval `direnv hook $0`" と書いておく
  3. 適当なディレクトリに perl とかをインストールする
  4. 実行したいディレクトリに .envrc ってファイルを作って "PATH_add <上のディレクトリ名>" とか書いておく

こうすると、cd すると自動的に .envrc の内容がロードアンロードされて、適切なスクリプトが起動されるようになる。

プロダクション環境で使う場合は、上記 2 のかわりに "direnv exec <プログラム>" とか書いておくと、ディレクトリ依存の環境設定をロードしてからプログラムを起動してくれる。