これまでasdfでpythonやnodejsのランタイムのバージョン管理、 direnvを使ってディレクトリごとの環境変数管理をしていましたが、 最近になってmiseといういい感じそうなバージョン管理ツールを見つけたのでインストールしてみようと思います。
asdf・direnvのアンインストール#
自分はhomebrewでインストールしていたので、brew uninstall
でアンインストールしました。
miseのインストール#
miseのGetting Startedそのままの手順でいけそうです。
オプショナルな設定など、詳細は公式のほうが詳しいです。
.zshrcにパスを追加します
ターミナルを再起動するとmise
コマンドが使えるようになっています。動作確認します。
出力:
いい感じですね。
miseを使う#
早速使ってみます。
miseには以下の2種類の機能があります。
- ランタイムのバージョン管理
- ディレクトリごとの環境変数管理
どちらも便利そうなので試してみます。
ランタイムのバージョン管理#
まずはnodejsの20系をインストールします。
出力:
うーんいい感じ。メジャーバージョンだけ指定すれば勝手にインストールしてくれるのは嬉しい。
ちなみに.tool-versions
のあるディレクトリでmise use
を実行すると、指定されたバージョンがない場合は自動でインストールしてくれました。
ディレクトリごとの環境変数管理#
次にディレクトリごとの環境変数管理を試してみます。
direnvとは違い、.envrc
ではなく.mise.toml
というファイルを作るようです。(.envrcを使う方法・設定もありますが割愛します)
適当なディレクトリに入り、.mise.toml
を作成します。
有効化するには、direnv
のdirenv allow
と同様にmise trust
を実行する必要があるようです。
出力:
mise env
で環境変数を表示できます。
出力:
出力:
良さそうですね。
まとめ#
asdfとdirenvに不満は感じていなかったのですが、2つのツールを使っていたところを1つにまとめられてスッキリした気がします。
あ、ホームディレクトリの.gitignore
に.mise.toml
の追加を忘れないようにしなきゃ。