mise自体の設定を恒久的に変更したい
【mise】MISE_JOBSで並列インストール数を変更する
のように、mise自体の挙動は環境変数でも変更できるが、環境変数はシェルの起動ファイルやCIの設定に書く必要があり、設定ファイルとして一元管理しづらい。mise settingsを使うと、同じ設定をmise.tomlやグローバル設定ファイルに恒久的に書き込める。
現在の設定値を確認する
mise settings getに設定名を指定すると、現在の値を確認できる。
$ mise settings get jobs
8
jobsはMISE_JOBS環境変数に対応する設定で、既定値は8である。
設定を変更する
mise settings setで設定を変更すると、グローバル設定ファイル(~/.config/mise/config.toml)に書き込まれる。
$ mise settings set jobs 2
$ mise settings get jobs
2
$ cat ~/.config/mise/config.toml
[settings]
jobs = 2
グローバル設定ファイルはユーザーごとのホームディレクトリに置かれるため、マシンを移行してもファイルをコピーすれば同じ設定を引き継げる。チームで設定を共有したい場合は、次に説明する--localでプロジェクトのmise.tomlに書き込む。
プロジェクト単位で設定する
--localを付けると、グローバル設定ファイルではなくカレントディレクトリのmise.tomlに書き込む。
$ mise settings set --local experimental true
$ cat mise.toml
[settings]
experimental = true
プロジェクトごとに異なる設定を使いたい場合は、--local付きでmise.tomlに書き込み、リポジトリにコミットする。
設定の一覧を確認する
mise settings lsを使うと、現在有効な設定と、その値がどの設定ファイルに書かれているかを一覧できる。
$ mise settings ls
jobs 2 ~/.config/mise/config.toml
experimental true /path/to/project/mise.toml
設定を削除する
mise settings unsetで設定を削除すると、既定値に戻る。
$ mise settings unset jobs
$ mise settings get jobs
8
環境変数と設定ファイルの優先順位
mise settings setで設定ファイルにjobs = 2と書いた状態でも、MISE_JOBS環境変数を指定するとそちらが優先される。
$ mise settings get jobs
2
$ MISE_JOBS=4 mise settings get jobs
4
CIなど特定の実行時だけ一時的に値を変えたい場合は環境変数、恒久的な既定値としたい場合はmise settingsと使い分けるとよい。
