What is Meta Package Manager?
mpm
CLI, a wrapper around all package managersmpm
is like yt-dlp
, but for package
managers instead of videosmpm
solves XKCD #1654 - Universal Install Script
mpm
try to wrap all other package managers, it became another
pathological case of XKCD #927: Standards
Package manager | Min. version | BSD[^bsd_without_macos] | Linux[^linux] | macOS | Unix[^unix] | Windows | installed |
outdated |
search |
install |
upgrade |
upgrade_all |
remove |
sync |
cleanup |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apm
|
1.0.0 | ||||||||||||||
apt |
1.0.0 | >_ |
|||||||||||||
apt-mint |
1.0.0 | >_ |
|||||||||||||
brew |
2.7.0 | ||||||||||||||
cargo |
1.0.0 | >_ |
|||||||||||||
cask |
2.7.0 | ||||||||||||||
choco |
0.10.9 | ||||||||||||||
composer |
1.4.0 | >_ |
|||||||||||||
dnf |
4.0.0 | >_ |
|||||||||||||
emerge |
3.0.0 | >_ |
|||||||||||||
flatpak |
1.2.0 | >_ |
|||||||||||||
gem |
2.5.0 | >_ |
|||||||||||||
mas |
1.6.1 | ||||||||||||||
npm |
4.0.0 | >_ |
|||||||||||||
opkg |
0.2.0 | >_ |
|||||||||||||
pacaur |
4.0.0 | >_ |
|||||||||||||
pacman |
5.0.0 | >_ |
|||||||||||||
paru |
1.9.3 | >_ |
|||||||||||||
pip |
10.0.0 | >_ |
|||||||||||||
pipx |
1.0.0 | >_ |
|||||||||||||
scoop |
0.2.4 | ||||||||||||||
snap |
2.0.0 | >_ |
|||||||||||||
steamcmd |
None | >_ |
|||||||||||||
vscode |
1.60.0 | >_ |
|||||||||||||
yarn |
1.20.0 | >_ |
|||||||||||||
yay |
11.0.0 | >_ |
|||||||||||||
yum |
4.0.0 | >_ |
|||||||||||||
zypper |
1.14.0 | >_ |
[^bsd_without_macos]: BSD: FreeBSD, NetBSD, OpenBSD, SunOS.
[^linux]: Linux: Linux, Windows Subsystem for Linux v2.
[^unix]: Unix: AIX, Cygwin, GNU/Hurd, Solaris, Windows Subsystem for Linux v1.
Note: Missing manager
If your favorite manager is missing or does not support an operation, you can influence its implementation: open a ticket to document its output or read the contribution guide and submit a pull request.
I can do that work for you if you purchase business support or sponsor the project .
Easiest way is to install mpm
from sources with pipx
:
$ pipx install meta-package-manager
Other alternatives installation methods are available in the documentation.
Standalone executables of mpm
's latest version are available for several platforms and architectures:
Platform | x86_64 |
---|---|
Linux[^linux] | Download mpm-linux-x64.bin |
macOS | Download mpm-macos-x64.bin |
Windows | Download mpm-windows-x64.exe |
List all supported package managers and their status on current system (macOS in this case):
$ mpm --all-managers managers
Manager ID Name Supported CLI Executable Version
apm Atom's apm apm not found
apt APT Linux only /usr/bin/apt
apt-mint Linux Mint's apt Linux only /usr/bin/apt
brew Homebrew Formulae /opt/homebrew/bin/brew 3.6.3
cargo Rust's cargo /opt/homebrew/bin/cargo 1.64.0
cask Homebrew Cask /opt/homebrew/bin/brew 3.6.3
choco Chocolatey Windows only choco not found
composer PHP's Composer /opt/homebrew/bin/composer 2.4.2
dnf DNF Linux only dnf not found
emerge Emerge Linux only emerge not found
flatpak Flatpak Linux only flatpak not found
gem Ruby Gems /usr/bin/gem 3.0.3.1
mas Mac AppStore /opt/homebrew/bin/mas 1.8.6
npm Node's npm /opt/homebrew/bin/npm 8.19.2
opkg OPKG Linux only opkg not found
pacman Pacman Linux only pacman not found
paru Paru Linux only paru not found
pip Pip ~/.pyenv/shims/python3 22.2.2
pipx Pipx /opt/homebrew/bin/pipx 1.1.0
scoop Scoop Windows only scoop not found
snap Snap Linux only snap not found
steamcmd Valve Steam steamcmd not found
vscode Visual Studio Code /opt/homebrew/bin/code 1.71.2
yarn Node's yarn /opt/homebrew/bin/yarn 1.22.19
yay Yay Linux only yay not found
yum YUM Linux only yum not found
zypper Zypper Linux only zypper not found
If your favorite manager is not supported yet, you can help! See the contibution guide.
List all packages installed on current system:
$ mpm installed
Package name ID Manager Installed version
github github apm 0.36.9
update-package-dependencies update-package-dependencies apm 0.13.1
rust rust brew 1.55.0
x264 x264 brew r3060
atom atom cask 1.58.0
visual-studio-code visual-studio-code cask 1.52.0
nokogiri nokogiri gem x86_64-darwin
rake rake gem 13.0.3
iMovie 408981434 mas 10.2.5
Telegram 747648890 mas 8.1
npm npm npm 7.24.0
raven raven npm 2.6.4
jupyterlab jupyterlab pip 3.1.14
Sphinx Sphinx pip 4.2.0
ms-python.python ms-python.python vscode 2021.10.1317843341
ms-toolsai.jupyter ms-toolsai.jupyter vscode 2021.9.1001312534
16 packages total (brew: 2, pip: 2, apm: 2, gem: 2, cask: 2, mas: 2, vscode: 2, npm: 2, composer: 0).
List all packages installed for which an upgrade is available:
$ mpm outdated
Package name ID Manager Installed version Latest version
curl curl brew 7.79.1 7.79.1_1
git git brew 2.33.0 2.33.0_1
[email protected] [email protected] brew 1.1.1l 1.1.1l_1
rake rake gem 13.0.3 13.0.6
Telegram 747648890 mas 8.1 8.1.3
npm [email protected] npm 7.24.0 8.0.0
pip pip pip 21.2.4 21.3
regex regex pip 2021.9.30 2021.10.8
8 packages total (brew: 3, pip: 2, gem: 1, mas: 1, npm: 1, apm: 0, cask: 0, composer: 0).
Other subcommands and options are documented in:
mpm
power