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