CLI parameters

Help screen

Options

mpm

CLI options shared by all subcommands.

Usage

mpm [OPTIONS] COMMAND [ARGS]...

Options

--apm

(Deprecated) Select Atom’s apm.

--apt

Select APT.

--apt-mint

Select Linux Mint’s apt.

--brew

Select Homebrew Formulae.

--cargo

Select Rust’s cargo.

--cask

Select Homebrew Cask.

--choco

Select Chocolatey.

--composer

Select PHP’s Composer.

--dnf

Select DNF.

--dnf5

Select DNF5.

--emerge

Select Emerge.

--eopkg

Select Solus package manager.

--flatpak

Select Flatpak.

--fwupd

Select Linux Vendor Firmware Service.

--gem

Select Ruby Gems.

--mas

Select Mac AppStore.

--npm

Select Node’s npm.

--opkg

Select OPKG.

--pacaur

Select Pacaur.

--pacman

Select Pacman.

--paru

Select Paru.

--pip

Select Pip.

--pipx

Select Pipx.

--pkg

Select FreeBSD System Manager.

--scoop

Select Scoop.

--snap

Select Snap.

--steamcmd

Select Valve Steam.

--uv

Select UV.

--vscode

Select Visual Studio Code.

--vscodium

Select VSCodium.

--winget

Select WinGet.

--yarn

Select Node’s yarn.

--yay

Select Yay.

--yum

Select YUM.

--zypper

Select Zypper.

--no-apm

(Deprecated) Deselect Atom’s apm.

--no-apt

Deselect APT.

--no-apt-mint

Deselect Linux Mint’s apt.

--no-brew

Deselect Homebrew Formulae.

--no-cargo

Deselect Rust’s cargo.

--no-cask

Deselect Homebrew Cask.

--no-choco

Deselect Chocolatey.

--no-composer

Deselect PHP’s Composer.

--no-dnf

Deselect DNF.

--no-dnf5

Deselect DNF5.

--no-emerge

Deselect Emerge.

--no-eopkg

Deselect Solus package manager.

--no-flatpak

Deselect Flatpak.

--no-fwupd

Deselect Linux Vendor Firmware Service.

--no-gem

Deselect Ruby Gems.

--no-mas

Deselect Mac AppStore.

--no-npm

Deselect Node’s npm.

--no-opkg

Deselect OPKG.

--no-pacaur

Deselect Pacaur.

--no-pacman

Deselect Pacman.

--no-paru

Deselect Paru.

--no-pip

Deselect Pip.

--no-pipx

Deselect Pipx.

--no-pkg

Deselect FreeBSD System Manager.

--no-scoop

Deselect Scoop.

--no-snap

Deselect Snap.

--no-steamcmd

Deselect Valve Steam.

--no-uv

Deselect UV.

--no-vscode

Deselect Visual Studio Code.

--no-vscodium

Deselect VSCodium.

--no-winget

Deselect WinGet.

--no-yarn

Deselect Node’s yarn.

--no-yay

Deselect Yay.

--no-yum

Deselect YUM.

--no-zypper

Deselect Zypper.

-a, --all-managers

Force evaluation of all managers implemented by mpm, including those not supported by the current platform or deprecated. Still applies filtering by –<manager-id> / –no-<manager-id> options before calling the subcommand.

-x, --xkcd

Preset manager selection as defined by XKCD #1654. Equivalent to: –pip –brew –npm –dnf –apt –steamcmd.

--ignore-auto-updates, --include-auto-updates

Report all outdated packages, including those tagged as auto-updating. Only applies to outdated and upgrade subcommands.

--stop-on-error, --continue-on-error

Stop right away or continue operations on manager CLI error.

-d, --dry-run

Do not actually perform any action, just simulate CLI calls.

-t, --timeout <timeout>

Set maximum duration in seconds for each CLI call.

--description

Show package description in results.

-s, --sort-by <sort_by>

Sort results.

Options:

manager_id | manager_name | package_id | package_name | version

--stats, --no-stats

Print per-manager package statistics.

--bar-plugin-path

Print location of the Xbar/SwiftBar plugin.

--time, --no-time

Measure and print elapsed execution time.

--color, --ansi, --no-color, --no-ansi

Strip out all colors and all ANSI codes from output.

--config <CONFIG_PATH>

Location of the configuration file. Supports local path with glob patterns or remote URL.

--no-config

Ignore all configuration files and only use command line parameters and environment variables.

--show-params

Show all CLI parameters, their provenance, defaults and value, then exit.

-o, --output-format <output_format>

Rendering format of the output.

Options:

asciidoc | csv | csv-excel | csv-excel-tab | csv-unix | double-grid | double-outline | fancy-grid | fancy-outline | github | grid | heavy-grid | heavy-outline | html | jira | json | latex | latex-booktabs | latex-longtable | latex-raw | mediawiki | mixed-grid | mixed-outline | moinmoin | orgtbl | outline | pipe | plain | presto | pretty | psql | rounded-grid | rounded-outline | rst | simple | simple-grid | simple-outline | textile | tsv | unsafehtml | vertical | youtrack

--verbosity <LEVEL>

Either CRITICAL, ERROR, WARNING, INFO, DEBUG.

Options:

CRITICAL | ERROR | WARNING | INFO | DEBUG

-v, --verbose
--version

Show the version and exit.

Environment variables

('MPM_APM',)

Provide a default for --apm

('MPM_APT',)

Provide a default for --apt

('MPM_APT_MINT',)

Provide a default for --apt-mint

('MPM_BREW',)

Provide a default for --brew

('MPM_CARGO',)

Provide a default for --cargo

('MPM_CASK',)

Provide a default for --cask

('MPM_CHOCO',)

Provide a default for --choco

('MPM_COMPOSER',)

Provide a default for --composer

('MPM_DNF',)

Provide a default for --dnf

('MPM_DNF5',)

Provide a default for --dnf5

('MPM_EMERGE',)

Provide a default for --emerge

('MPM_EOPKG',)

Provide a default for --eopkg

('MPM_FLATPAK',)

Provide a default for --flatpak

('MPM_FWUPD',)

Provide a default for --fwupd

('MPM_GEM',)

Provide a default for --gem

('MPM_MAS',)

Provide a default for --mas

('MPM_NPM',)

Provide a default for --npm

('MPM_OPKG',)

Provide a default for --opkg

('MPM_PACAUR',)

Provide a default for --pacaur

('MPM_PACMAN',)

Provide a default for --pacman

('MPM_PARU',)

Provide a default for --paru

('MPM_PIP',)

Provide a default for --pip

('MPM_PIPX',)

Provide a default for --pipx

('MPM_PKG',)

Provide a default for --pkg

('MPM_SCOOP',)

Provide a default for --scoop

('MPM_SNAP',)

Provide a default for --snap

('MPM_STEAMCMD',)

Provide a default for --steamcmd

('MPM_UV',)

Provide a default for --uv

('MPM_VSCODE',)

Provide a default for --vscode

('MPM_VSCODIUM',)

Provide a default for --vscodium

('MPM_WINGET',)

Provide a default for --winget

('MPM_YARN',)

Provide a default for --yarn

('MPM_YAY',)

Provide a default for --yay

('MPM_YUM',)

Provide a default for --yum

('MPM_ZYPPER',)

Provide a default for --zypper

('MPM_NO_APM',)

Provide a default for --no-apm

('MPM_NO_APT',)

Provide a default for --no-apt

('MPM_NO_APT_MINT',)

Provide a default for --no-apt-mint

('MPM_NO_BREW',)

Provide a default for --no-brew

('MPM_NO_CARGO',)

Provide a default for --no-cargo

('MPM_NO_CASK',)

Provide a default for --no-cask

('MPM_NO_CHOCO',)

Provide a default for --no-choco

('MPM_NO_COMPOSER',)

Provide a default for --no-composer

('MPM_NO_DNF',)

Provide a default for --no-dnf

('MPM_NO_DNF5',)

Provide a default for --no-dnf5

('MPM_NO_EMERGE',)

Provide a default for --no-emerge

('MPM_NO_EOPKG',)

Provide a default for --no-eopkg

('MPM_NO_FLATPAK',)

Provide a default for --no-flatpak

('MPM_NO_FWUPD',)

Provide a default for --no-fwupd

('MPM_NO_GEM',)

Provide a default for --no-gem

('MPM_NO_MAS',)

Provide a default for --no-mas

('MPM_NO_NPM',)

Provide a default for --no-npm

('MPM_NO_OPKG',)

Provide a default for --no-opkg

('MPM_NO_PACAUR',)

Provide a default for --no-pacaur

('MPM_NO_PACMAN',)

Provide a default for --no-pacman

('MPM_NO_PARU',)

Provide a default for --no-paru

('MPM_NO_PIP',)

Provide a default for --no-pip

('MPM_NO_PIPX',)

Provide a default for --no-pipx

('MPM_NO_PKG',)

Provide a default for --no-pkg

('MPM_NO_SCOOP',)

Provide a default for --no-scoop

('MPM_NO_SNAP',)

Provide a default for --no-snap

('MPM_NO_STEAMCMD',)

Provide a default for --no-steamcmd

('MPM_NO_UV',)

Provide a default for --no-uv

('MPM_NO_VSCODE',)

Provide a default for --no-vscode

('MPM_NO_VSCODIUM',)

Provide a default for --no-vscodium

('MPM_NO_WINGET',)

Provide a default for --no-winget

('MPM_NO_YARN',)

Provide a default for --no-yarn

('MPM_NO_YAY',)

Provide a default for --no-yay

('MPM_NO_YUM',)

Provide a default for --no-yum

('MPM_NO_ZYPPER',)

Provide a default for --no-zypper

('MPM_ALL_MANAGERS',)

Provide a default for -a

('MPM_XKCD',)

Provide a default for -x

('MPM_MANAGER',)

Provide a default for -m

('MPM_EXCLUDE',)

Provide a default for -e

('MPM_IGNORE_AUTO_UPDATES',)

Provide a default for --ignore-auto-updates

('MPM_STOP_ON_ERROR',)

Provide a default for --stop-on-error

('MPM_DRY_RUN',)

Provide a default for -d

('MPM_TIMEOUT',)

Provide a default for -t

('MPM_DESCRIPTION',)

Provide a default for --description

('MPM_SORT_BY',)

Provide a default for -s

('MPM_STATS',)

Provide a default for --stats

('MPM_BAR_PLUGIN_PATH',)

Provide a default for --bar-plugin-path

('MPM_TIME',)

Provide a default for --time

('MPM_COLOR',)

Provide a default for --color

('MPM_CONFIG',)

Provide a default for --config

('MPM_CONFIG',)

Provide a default for --no-config

('MPM_SHOW_PARAMS',)

Provide a default for --show-params

('MPM_OUTPUT_FORMAT',)

Provide a default for -o

('MPM_VERBOSITY',)

Provide a default for --verbosity

('MPM_VERBOSE',)

Provide a default for --verbose

('MPM_VERSION',)

Provide a default for --version

backup

Dump the list of installed packages to a TOML file.

By default the generated TOML content is displayed directly in the console output. So mpm backup is the same as a call to mpm backup -. To have the result written in a file on disk, specify the output file like so: mpm backup packages.toml.

Files produced by this subcommand can be safely consumed by mpm restore.

Sections of the TOML file will be named after the manager ID. Sections are ordered in the same order as the manager selection priority. Each section will contain a list of package IDs and their installed version.

Usage

mpm backup [OPTIONS] [TOML_PATH]

Options

--overwrite, --force, --replace

Allow the provided TOML file to be silently wiped out if it already exists.

--merge

Read the provided TOML file and update each entry with the version currently installed on the system. Requires the [TOML_PATH] argument.

--update-version

Read the provided TOML file and update each existing entry with the version currently installed on the system. Requires the [TOML_PATH] argument.

Arguments

TOML_PATH

Optional argument

Environment variables

('BACKUP_OVERWRITE',)

Provide a default for --overwrite

('BACKUP_MERGE',)

Provide a default for --merge

('BACKUP_UPDATE_VERSION',)

Provide a default for --update-version

cleanup

Cleanup local data, temporary artifacts and removes orphaned dependencies.

Usage

mpm cleanup [OPTIONS]

install

Install one or more packages.

This subcommand is sensible to the order of the package managers selected by the user.

Installation will first proceed for all the packages found to be tied to a specific manager. Which is the case for packages provided with precise package specifiers (like purl). This will also happens in situations in which a tighter selection of managers is provided by the user.

For packages whose manager is not known, or if multiple managers are candidates for the installation, mpm will try to find the best manager to install it with.

Installation will be attempted with each manager, in the order they were selected. If a search for the package ID returns no result from the highest-priority manager, we will skip the installation and try the next available managers in the order of their priority.

Usage

mpm install [OPTIONS] PACKAGES_SPECS...

Arguments

PACKAGES_SPECS

Required argument(s)

A mix of plain <package_id>, simple <package_id@version> specifiers or full <pkg:npm/left-pad> purls.

installed

List all packages installed on the system by each manager.

Usage

mpm installed [OPTIONS]

Options

-d, --duplicates

Only list installed packages sharing the same ID. Implies –sort_by package_id to make duplicates easier to compare between themselves.

Environment variables

('INSTALLED_DUPLICATES',)

Provide a default for -d

managers

List all supported package managers and autodetect their presence on the system.

Usage

mpm managers [OPTIONS]

outdated

List available package upgrades and their versions for each manager.

Usage

mpm outdated [OPTIONS]

Options

--plugin-output

Output results for direct consumption by an Xbar/SwiftBar-compatible plugin. The layout is dynamic and depends on environment variables set by either Xbar or SwiftBar.

Environment variables

('OUTDATED_PLUGIN_OUTPUT',)

Provide a default for --plugin-output

remove

Remove one or more packages.

Packages recognized by multiple managers will be remove with each of them. You can fine-tune this behavior with more precise package specifiers (like purl) and/or tighter selection of managers.

Packages unrecognized by any selected manager will be skipped.

Usage

mpm remove [OPTIONS] PACKAGES_SPECS...

Arguments

PACKAGES_SPECS

Required argument(s)

A mix of plain <package_id>, simple <package_id@version> specifiers or full <pkg:npm/left-pad> purls.

restore

Read TOML files then install or upgrade each package referenced in them.

Usage

mpm restore [OPTIONS] TOML_FILES...

Arguments

TOML_FILES

Required argument(s)

sbom

Export list of installed packages to a SPDX or CycloneDX file.

Usage

mpm sbom [OPTIONS] [EXPORT_PATH]

Options

--spdx, --cyclonedx

SBOM standard to export to.

--format <export_format>

File format of the export. Defaults to JSON for <stdout>. If not provided, will be autodetected from file extension.

Options:

json | xml | yaml | tag | rdf

--overwrite, --force, --replace

Allow the target file to be silently wiped out if it already exists.

Arguments

EXPORT_PATH

Optional argument

Environment variables

('SBOM_SPDX',)

Provide a default for --spdx

('SBOM_EXPORT_FORMAT',)

Provide a default for --format

('SBOM_OVERWRITE',)

Provide a default for --overwrite

sync

Sync local package metadata and info from external sources.

Usage

mpm sync [OPTIONS]

upgrade

Upgrade one or more outdated packages.

All outdated package will be upgraded by default if no specifiers are provided as arguments. I.e. assumes -A/–all option if no [PACKAGES_SPECS]….

Packages recognized by multiple managers will be upgraded with each of them. You can fine-tune this behavior with more precise package specifiers (like purl) and/or tighter selection of managers.

Packages unrecognized by any selected manager will be skipped.

Usage

mpm upgrade [OPTIONS] [PACKAGES_SPECS]...

Options

-A, --all

Upgrade all outdated packages. Will make the command ignore package IDs provided as parameters.

Arguments

PACKAGES_SPECS

Optional argument(s)

A mix of plain <package_id>, simple <package_id@version> specifiers or full <pkg:npm/left-pad> purls.

Environment variables

('UPGRADE_ALL',)

Provide a default for -A

which

Search from the user’s environment all CLIs matching the query.

This is mpm’s own version of the which -a UNIX command, used internally to locate binaries for each manager. It is exposed as a subcommand for convenience and to help troubleshoot CLI resolution logic.

Compared to the venerable which command, this will respect the additional path configured for each package manager. It will ignore files that are empty (0 size). On Windows, it additionally suppress the default lookup in the current directory, which takes precedence on other paths.

Usage

mpm which [OPTIONS] CLI_NAMES...

Arguments

CLI_NAMES

Required argument(s)