mise.tomlのツールがすぐ使えるシェルを起動したい
【mise】mise envでmiseが設定する環境変数を出力する
で紹介したmise envは、export文を出力するだけで、現在のシェルに反映するにはevalが必要になる。mise enを使うと、evalを挟まずに、mise環境が最初から有効なシェルをその場で起動できる。
mise enの基本
jq = "1.7.1"と書かれたmise.tomlがあるディレクトリでmise enを実行する。
$ mise en
$ jq --version
jq-1.7.1
$ which jq
/root/.local/share/mise/installs/jq/1.7.1/jq
mise enで起動したシェルの中では、evalなしでjqコマンドがすぐに使える。抜けるには通常のシェルと同様にexitする。
-sで起動するシェルを指定する
既定では$SHELLで起動するが、-s(--shell)で別のシェルを指定できる。rcファイルを読み込みたくない場合は、シェルのオプションと一緒に指定する。
$ mise en -s "bash --norc"
$ jq --version
jq-1.7.1
mise activate/mise shellとの違い
【mise】mise activateでシェルにmiseを組み込む はシェルの設定ファイルに恒久的にフックを組み込み、ディレクトリ移動のたびに自動でmise環境を切り替える。【mise】mise shellでシェルセッションの間だけバージョンを切り替える は、そのactivate済みのシェルの中で一時的にバージョンを切り替えるコマンドである。
mise enはどちらとも異なり、シェルの設定ファイルを変更せず、独立した新しいシェルプロセスとしてmise環境を起動する。ディレクトリを移動しても、起動時のディレクトリのmise環境のまま変わらない点にも注意する。
\第一線のプログラマーの行動原理を学べる!/
