mise installs migrate
- Usage:
mise installs migrate [-n --dry-run] [TOOL@VERSION]… - Effect: modifies state
- Source code:
src/cli/installs/migrate.rs
Reinstall legacy installations into the identity install layout
Installations made before install_layout = "identity" was turned on stay in installs/<tool>/<version> and keep working; mise never moves them on its own, because tools record their own path in shebangs, virtual environments and package-manager files. This reinstalls each one into its own <label>-<hash> directory, then removes the old directory and puts the version link in its place, so a path that pointed into the old directory still resolves.
Each version is reinstalled from its backend, not copied, so the files are written for their new path. Run it while nothing is using the tools: the old directory is moved aside while its replacement installs, and put back if that fails. Versions whose recorded backend is not the one their tool resolves to now are left alone, as are tools that keep the legacy layout (http:, rust, dotnet).
Arguments
[TOOL@VERSION]…— Only migrate these tools, or these versions of themDefaults to every legacy installation.
Flags
-n --dry-run— Show what would move without changing anything-h --help— Print help
Examples
List the legacy installations that would move
mise installs migrate --dry-runMove every installed node, and one python
mise installs migrate node python@3.12.1