๐ wraps all package managers with a unifying CLI
GPL-2.0 License
What is Meta Package Manager?
mpm
CLI, a wrapper around all package managersmpm
is like yt-dlp
, but for packagempm
solves XKCD #1654 - Universal Install Script
mpm
try to wrap all other package managers, it became anotherOne CLI to rule them all:
---
config:
sankey:
showValues: false
---
sankey-beta
Meta Package Manager,apm,1
Meta Package Manager,apt,1
Meta Package Manager,apt-mint,1
Meta Package Manager,brew,1
Meta Package Manager,cargo,1
Meta Package Manager,cask,1
Meta Package Manager,choco,1
Meta Package Manager,composer,1
Meta Package Manager,dnf,1
Meta Package Manager,emerge,1
Meta Package Manager,flatpak,1
Meta Package Manager,gem,1
Meta Package Manager,mas,1
Meta Package Manager,npm,1
Meta Package Manager,opkg,1
Meta Package Manager,pacaur,1
Meta Package Manager,pacman,1
Meta Package Manager,paru,1
Meta Package Manager,pip,1
Meta Package Manager,pipx,1
Meta Package Manager,pkg,1
Meta Package Manager,scoop,1
Meta Package Manager,snap,1
Meta Package Manager,steamcmd,1
Meta Package Manager,uv,1
Meta Package Manager,vscode,1
Meta Package Manager,winget,1
Meta Package Manager,yarn,1
Meta Package Manager,yay,1
Meta Package Manager,yum,1
Meta Package Manager,zypper,1
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 |
2.0.0 | ๐ช | โ | โ | โ | โ | โ | โ | |||||||
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 | ๐ ฑ๏ธ | ๐ง | ๐ | >_ |
๐ช | โ | โ | โ | โ | โ | โ | |||
pkg |
1.11 | ๐ ฑ๏ธ | ๐ง | ๐ | >_ |
โ | โ | โ | โ | โ | โ | โ | โ | โ | |
scoop |
0.2.4 | ๐ช | โ | โ | โ | โ | โ | โ | โ | โ | โ | ||||
snap |
2.0.0 | ๐ ฑ๏ธ | ๐ง | >_ |
โ | โ | โ | โ | โ | โ | |||||
steamcmd |
None | ๐ ฑ๏ธ | ๐ง | ๐ | >_ |
๐ช | โ | ||||||||
uv |
0.1.45 | ๐ ฑ๏ธ | ๐ง | ๐ | >_ |
๐ช | โ | โ | โ | โ | |||||
vscode |
1.60.0 | ๐ ฑ๏ธ | ๐ง | ๐ | >_ |
๐ช | โ | โ | |||||||
winget |
1.7 | ๐ช | โ | โ | โ | โ | โ | โ | โ | ||||||
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 ๐ซถ.
All installation methods are available in the documentation.
Below are the most popular ones:
mpm
is part of the official Homebrew default tap, so you can install it with:
$ brew install meta-package-manager
mpm
is available in the main
repository of Scoop, so you just need to:
> scoop install main/meta-package-manager
pipx
is the cleanest way to install mpm
from sources on any platform:
$ pipx install meta-package-manager
Standalone executables of mpm
's latest version are available as direct downloads for several platforms and architectures:
Platform | x86_64 |
arm64 |
---|---|---|
Linux[^linux] | Download mpm-linux-x64.bin |
|
macOS | Download mpm-macos-x64.bin |
Download mpm-macos-arm64.bin |
Windows | Download mpm-windows-x64.exe |
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).
If you wonder why your package manager doesn't seems to be identified, you can list all those recognized by mpm
with:
$ 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 contribution guide.
Other subcommands and options are documented in:
mpm
power[^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.