初めて開いたプロジェクトでmiseコマンドがエラーになる

mise.tomlは環境変数の設定やタスクの定義など、コードの実行や環境に影響する内容を含められる。知らないリポジトリのmise.tomlをそのまま読み込んでしまうと、意図しないコードの実行につながるおそれがある。そのためmiseはこのような設定ファイルを未信頼(untrusted)として扱い、読み込む前にmise trustによる明示的な信頼を求める。

未信頼の設定ファイルを読み込むとエラーになる

環境変数を定義したmise.tomlがあるディレクトリで、mise trustを実行せずにmise envを実行するとエラーになる。

$ mise env
mise ERROR error parsing config file: /path/to/project/mise.toml
mise ERROR Config files in /path/to/project/mise.toml are not trusted.
Trust them with `mise trust`. See https://mise.jdx.dev/cli/trust.html for more information.

mise trust の基本

mise trustを実行すると、カレントディレクトリのmise.tomlが信頼済みとして登録される。

$ mise trust
mise trusted /path/to/project

信頼した後は、同じmise envがエラーにならず実行できる。

$ mise env
export MY_VAR=hello
export PATH='...'

信頼状況を確認する

--showを付けると、設定ファイルが信頼済みかどうかを確認できる。

$ mise trust --show
/path/to/project: trusted

信頼を取り消したい場合は--untrustを使う。

$ mise trust --untrust
mise untrusted /path/to/project

$ mise trust --show
/path/to/project: untrusted

ツールのバージョンだけを記述したmise.tomlは信頼が不要

mise.toml[tools]にプレーンなバージョン文字列だけを記述したシンプルな内容の場合、コード実行や環境変更のおそれがないため、信頼していなくてもエラーにならない。

[tools]
jq = "1.7.1"

このようなmise.tomlがあるディレクトリでは、mise trustを実行しなくてもmise installmise envが問題なく実行できる。

mise install や mise run は自動的に信頼する

mise installmise runmise execのように、プロジェクトの設定に基づいて処理を実行するコマンドは、通常モードでは実行対象の設定ファイルを自動的に信頼する。そのため、[env][tasks]を含むmise.tomlがあっても、mise install自体が未信頼エラーで止まることはない。一方、mise envmise currentのように設定内容を読み取るだけのコマンドは、この自動信頼の対象外であり、未信頼の設定ファイルに対してはエラーになる。