プロジェクトごとの環境変数をmise.tomlで管理したい
MISE_DATA_DIRのようなMISE_*環境変数はmise自体の動作を制御するものだが、mise setで設定するのはそれとは別に、プロジェクトで使う任意の環境変数である。mise.tomlの[env]セクションに書いておくと、mise activate済みのシェルやタスク実行時に自動的に反映される。
mise setで環境変数を設定する
KEY=VALUEの形式で環境変数を設定する。
$ mise set NODE_ENV=production
mise.tomlの[env]セクションに追記される。
[tools]
jq = "1.7.1"
[env]
NODE_ENV = "production"
キー名だけを指定すると、設定済みの値を確認できる。
$ mise set NODE_ENV
production
mise setで設定済みの環境変数を一覧表示する
引数なしで実行すると、設定済みの環境変数と、どの設定ファイルに書かれているかを一覧表示する。
$ mise set
NODE_ENV production /path/to/mise.toml
–stdinで複数行の値を設定する
パスワードや秘密鍵のような複数行の値は、--stdinで標準入力から読み込ませる。
$ printf "line1\nline2" | mise set --stdin MULTILINE_VAR
[env]
NODE_ENV = "production"
MULTILINE_VAR = """
line1
line2"""
–promptで対話的に入力する
値をコマンドライン上に直接書きたくない場合は、--promptで対話的に入力する。
$ mise set --prompt PASSWORD
Enter value for PASSWORD
>
-gでグローバル設定ファイルに書く
-g(--global)を付けると、プロジェクトのmise.tomlではなく~/.config/mise/config.tomlに書き込まれ、プロジェクトを問わず使える環境変数になる。
$ mise set -g GLOBAL_VAR=hello
[env]
GLOBAL_VAR = "hello"
\第一線のプログラマーの行動原理を学べる!/
