ツールのインストール先を別のディスクに置きたい
miseがインストールするツール本体は、既定で~/.local/share/mise配下に保存される。ディスク容量の大きい別ボリュームにインストール先をまとめたい、コンテナのビルドキャッシュ層としてインストール先を分離したいなど、既定のパス以外を使いたい場合がある。環境変数MISE_DATA_DIRを設定すると、ツールのインストール先ディレクトリを変更できる。
MISE_DATA_DIRの基本
MISE_DATA_DIRにパスを指定してから、mise installでツールをインストールする。
$ export MISE_DATA_DIR="/mnt/large-storage/mise"
$ mise install jq@1.7
mise jq@1.7 [1/2] install
mise jq@1.7 [1/2] download jq-macos-arm64
mise jq@1.7 [2/2] checksum jq-macos-arm64
mise jq@1.7 [2/2] extract jq-macos-arm64
mise jq@1.7 ✓ installed
【mise】mise whereでツールのインストールパスを確認する で確認すると、指定したディレクトリ配下にインストールされたことが分かる。
$ mise where jq
/mnt/large-storage/mise/installs/jq/1.7
MISE_DATA_DIR配下には、インストール済みツール本体(installs/)だけでなく、ダウンロードしたアーカイブのキャッシュ(downloads/)やshim(shims/)も作られる。
$ find /mnt/large-storage/mise -maxdepth 1
/mnt/large-storage/mise
/mnt/large-storage/mise/migrations
/mnt/large-storage/mise/installs
/mnt/large-storage/mise/shims
/mnt/large-storage/mise/downloads
設定ファイルやキャッシュの場所は変わらない
MISE_DATA_DIRが動かすのはツールのインストール先だけである。mise doctorで確認すると、設定ファイルを探すconfigディレクトリやダウンロードキャッシュとは別のcacheディレクトリ、trustの状態などを保持するstateディレクトリは、MISE_DATA_DIRを変更しても既定のパスのままである。
$ mise doctor
...(中略)...
dirs:
cache: ~/Library/Caches/mise
config: ~/.config/mise
data: /mnt/large-storage/mise
shims: /mnt/large-storage/mise/shims
system_shims: /usr/local/share/mise/shims
state: ~/.local/state/mise
configやstateまで移動したい場合は、【mise】MISE_GLOBAL_CONFIG_FILEでグローバル設定ファイルの場所を変更する
のような、それぞれ専用の環境変数を別途設定する必要がある。
マシン間で共有しない
MISE_DATA_DIRをネットワークドライブなどに置き、複数のマシンで共有することは推奨されない。インストールされるツール本体はビルド時のOSやCPUアーキテクチャに依存するため、異なる環境から同じインストール先を参照すると、実行できないバイナリを参照してしまう可能性がある。マシンごとに個別のMISE_DATA_DIRを用意する。
