What is Meta Package Manager?
- provides the
mpm
CLI, a wrapper around all package managers mpm
is likeyt-dlp
, but for package managers instead of videosmpm
solves XKCD #1654: Universal Install Script
Features
- Inventory and list all package managers available on the system.
- Supports macOS, Linux and Windows.
- List installed packages.
- Search for packages.
- Install a package.
- Remove a package.
- List outdated packages.
- Sync local package infos.
- Upgrade all outdated packages.
- Backup list of installed packages to TOML file.
- Restore/install list of packages from TOML files.
- Pin-point commands to a subset of package managers (include/exclude selectors).
- Export results in JSON or user-friendly tables.
- Shell auto-completion for Bash, Zsh and Fish.
- Provides a Xbar/SwiftBar plugin for friendly macOS integration.
- Because
mpm
try to wrap all other package managers, it became another pathological case of XKCD #927: Standards
Supported package managers and operations
Package manager | Min. version | Linux | macOS | 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.4 | โ | โ | โ | โ | โ | โ | ||||||
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 | โ | โ | โ | โ | โ | โ | โ | |||||
pacman |
5.0.0 | โ | โ | โ | โ | โ | โ | โ | โ | โ | |||
paru |
1.9.3 | โ | โ | โ | โ | โ | โ | โ | โ | โ | |||
pip |
10.0.0 | โ | โ | โ | โ | โ | โ | ||||||
pipx |
1.0.0 | โ | โ | โ | โ | โ | โ | ||||||
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 | โ | โ | โ | โ | โ | โ | โ | โ |
Quickstart
Easiest way is to install mpm
with pipx
:
$ pipx install meta-package-manager
Other alternatives installation methods are available in the documentation.
List managers
List all supported package managers and their status on current system (macOS in this case):
$ mpm --all-managers managers
โญโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฎ
โ Package manager โ ID โ Supported โ CLI โ Executable โ Version โ
โโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโผโโโโโโโโโโโโโโโค
โ Atom's apm โ apm โ โ โ โ /usr/local/bin/apm โ โ โ โ 2.6.2 โ
โ APT โ apt โ โ Linux only โ โ /usr/bin/apt โ โ โ โ โ
โ Linux Mint's apt โ apt-mint โ โ Linux only โ โ /usr/bin/apt โ โ โ โ โ
โ Homebrew Formulae โ brew โ โ โ โ /usr/local/bin/brew โ โ โ โ 3.2.16 โ
โ Rust's cargo โ cargo โ โ โ โ /opt/homebrew/bin/cargo โ โ โ โ 1.59.0 โ
โ Homebrew Cask โ cask โ โ โ โ /usr/local/bin/brew โ โ โ โ 3.2.16 โ
โ Chocolatey โ choco โ โ Windows only โ โ choco not found โ โ โ
โ PHP's Composer โ composer โ โ โ โ /usr/local/bin/composer โ โ โ โ 2.1.8 โ
โ DNF โ dnf โ โ Linux only โ โ dnf not found โ โ โ
โ Emerge โ emerge โ โ Linux only โ โ emerge not found โ โ โ
โ Flatpak โ flatpak โ โ Linux only โ โ flatpak not found โ โ โ
โ Ruby Gems โ gem โ โ โ โ /usr/bin/gem โ โ โ โ 3.0.3 โ
โ Mac AppStore โ mas โ โ โ โ /usr/local/bin/mas โ โ โ โ 1.8.3 โ
โ Node's npm โ npm โ โ โ โ /usr/local/bin/npm โ โ โ โ 7.24.0 โ
โ OPKG โ opkg โ โ Linux only โ โ opkg not found โ โ โ
โ Pacman โ pacman โ โ Linux only โ โ pacman not found โ โ โ
โ Pip โ pip โ โ โ โ /usr/local/bin/python3 โ โ โ โ 21.2.4 โ
โ Pipx โ pipx โ โ โ โ /opt/homebrew/bin/pipx โ โ โ โ 1.0.0 โ
โ Snap โ snap โ โ Linux only โ โ snap not found โ โ โ
โ SteamCMD โ steamcmd โ โ โ โ /opt/local/bin/steamcmd โ โ โ โ 1648077083 โ
โ Visual Studio Code โ vscode โ โ โ โ /usr/local/bin/code โ โ โ โ 1.61.0 โ
โ Node's yarn โ yarn โ โ โ โ yarn not found โ โ โ
โ 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 installed packages
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 outdated packages
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).
Usage
More documentation is available in:
- the detailed help screens
- the
list of use-cases
where youโll find inspiration on how to leverage
mpm
power