どの設定ファイルが読み込まれているか分かりにくい

グローバル設定ファイル(~/.config/mise/config.toml)とプロジェクトのmise.tomlなど、miseは複数の設定ファイルを階層的に読み込む。ツールのバージョンが想定と違う場合、どの設定ファイルの記述が効いているのか分かりにくいことがある。mise configを使うと、現在のディレクトリで読み込まれている設定ファイルの一覧と、それぞれに定義されているツールを確認できる。

mise config lsの基本

グローバル設定ファイルにnode、プロジェクトのmise.tomljqを定義した状態でmise config lsを実行する。

$ mise config ls
~/.config/mise/config.toml  node
/path/to/project/mise.toml  jq

現在有効な設定ファイルのパスと、それぞれのファイルで定義されているツール名が一覧表示される。mise.toml側に書かれていないnodeもグローバル設定ファイル経由で有効になっていることが分かる。

mise config getで特定の値を確認する

mise config getにキーを指定すると、設定ファイルに書かれた値を直接確認できる。何も指定しなければ、カレントディレクトリに最も近いmise.tomlが対象になる。

$ mise config get tools.jq
1.7.1

グローバル設定ファイルの値を確認したい場合は-g(--global)を付ける。

$ mise config get -g tools.node
22

特定のファイルを指定したい場合は-f(--file)でパスを渡す。

$ mise config get -f /path/to/other/mise.toml tools.jq
1.8.2

JSON形式で出力する

--jsonを付けると、設定ファイルのパスと定義されているツール名の一覧をJSON形式で出力する。

$ mise config ls --json
[
  {
    "path": "/path/to/project/mise.toml",
    "tools": [
      "jq"
    ]
  },
  {
    "path": "~/.config/mise/config.toml",
    "tools": [
      "node"
    ]
  }
]

スクリプトから設定ファイルの構成を確認したい場合に使う。