Cross-manager duplicatesยถ
The same package name often shows up across multiple managers: a tool packaged simultaneously for Homebrew, Cargo, npm, and pipx, or installed by mistake through more than one route on the same machine. mpm treats this as a first-class concern, with one command to find the best source for a new install and another to surface installations that already overlap.
Find the best sourceยถ
Searching across every supported manager at once tells you where the latest version actually lives:
$ mpm search broot --exact
โญโโโโโโโโโโโโโฌโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโโโโโโโโฎ
โ Package ID โ Name โ Manager โ Latest version โ
โโโโโโโโโโโโโโผโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโโโโโค
โ broot โ โ brew โ 1.16.2 โ
โ broot โ โ cargo โ 0.13.6 โ
โฐโโโโโโโโโโโโโดโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโโโโโโโฏ
2 packages total (brew: 1, pip: 1, cask: 0, gem: 0, mas: 0, npm: 0).
Then choose your preferred package manager to install it:
$ mpm --brew install broot
Package manager order: brew
Install broot package from brew...
(...)
๐บ /usr/local/Cellar/broot/1.16.2: 8 files, 3.5MB
This pattern catches the common โI want the freshest versionโ decision without having to query each manager by hand.
Audit existing installationsยถ
When the same package is already installed through more than one manager, list every duplicate with:
$ mpm list --duplicates
โญโโโโโโโโโโโโโฌโโโโโโโฌโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโฎ
โ Package ID โ Name โ Manager โ Installed version โ
โโโโโโโโโโโโโโผโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโค
โ blah โ โ cargo โ 0.0.0 โ
โ blah โ โ gem โ 0.0.2 โ
โ blah โ โ npm โ 5.2.1 โ
โ coverage โ โ pip โ 6.4.1 โ
โ coverage โ โ pipx โ 6.4.1 โ
โ six โ โ brew โ 1.16.0_2 โ
โ six โ โ pip โ 1.16.0 โ
โฐโโโโโโโโโโโโโดโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโฏ
7 packages total (pip: 2, brew: 1, cargo: 1, gem: 1, npm: 1, pipx: 1, cask: 0).
Removing every copy at once is a single command:
$ mpm remove blah
Remove blah with cargo, gem, npm
(...)
Successfully uninstalled blah-0.0.0
(...)
Successfully uninstalled blah-0.0.2
(...)
Successfully uninstalled blah-5.2.1
Or target a specific duplicate by routing through one manager:
$ mpm --pip uninstall six
(...)
Todo
Add arguments to installed command, or an --installed boolean flag to search so we can reduce the searched packages to those installed.
See alsoยถ
Snapshot and export โ snapshot the resolved installation set after deduplication.
Configuration โ pin a preferred manager order so duplicates resolve consistently across runs.