開発環境と本番環境でツールのバージョンや環境変数を切り替えたい
同じプロジェクトでも、開発環境と本番環境で使うツールのバージョンや環境変数を変えたい場合がある。環境変数MISE_ENVを指定すると、mise.<環境名>.tomlという命名の設定ファイルを追加で読み込ませられる。
MISE_ENVの基本
mise.tomlに加えて、mise.production.tomlのような環境別のファイルを用意する。
# mise.toml
[tools]
jq = "1.7.1"
[env]
STAGE = "base"
# mise.production.toml
[tools]
jq = "1.6"
[env]
STAGE = "production"
MISE_ENVを指定しない場合、mise.tomlだけが読み込まれる。
$ mise current jq
1.7.1
$ mise env | grep STAGE
export STAGE=base
MISE_ENV=productionを指定すると、mise.production.tomlがmise.tomlに追加でマージされ、両方に書かれた項目はmise.production.tomlの値が優先される。
$ MISE_ENV=production mise current jq
1.6
$ MISE_ENV=production mise env | grep STAGE
export STAGE=production
–envフラグでも同じ環境を指定できる
MISE_ENV環境変数の代わりに、--env(-E)フラグでも同じ環境を指定できる。
$ mise --env production current jq
1.6
存在しない環境名を指定してもエラーにならない
MISE_ENVに対応するmise.<環境名>.tomlが存在しない場合、そのファイルは無視されmise.tomlだけが読み込まれる。
$ MISE_ENV=staging mise current jq
1.7.1
\第一線のプログラマーの行動原理を学べる!/
