Rust cargo

Rust’s cargo (https://doc.rust-lang.org/cargo/), covering the binaries installed with cargo install.

cargo has no outdated listing and no upgrade command for installed binaries: re-running cargo install is the upstream upgrade story, so neither operation is declared.

Platforms

  • 🅱️ BSD

  • 🐧 Linux

  • 🍎 macOS

  • ⨂ Unix

  • 🪟 Windows

Operations

Operation

Supported

Notes

installed

outdated

search

exact and extended search backfilled by mpm

install

upgrade

upgrade_all

remove

sync

cleanup

Ecosystem

Usage

$ mpm --cargo installed
$ mpm --cargo search "query"
$ mpm install pkg:cargo/hello
$ mpm --dry-run install pkg:cargo/hello

Every example above accepts --dry-run, which simulates the underlying manager calls without touching the system: the safe way to watch what mpm would do before trusting it.

Deselect the manager for a single run with --no-cargo, disable it from your configuration, or tune its invocation attributes with per-manager overrides.

Command line

  • CLI names, in lookup order: cargo

  • Arguments forced before each call: --color never --quiet

The version is probed by running:

$ cargo --version
cargo 1.59.0

and extracted with:

r"cargo\s+(?P<version>\S+)"

Privilege escalation

mpm runs this manager as the current user and never prepends sudo by default. Flip the policy for its privileged operations with --sudo or the per-manager sudo override.

None of its operations needs root.

See privilege escalation for the full policy.

Cooldown

State of Rust cargo’s release-age gating, from the cooldown support table:

  • Status: 🚧 Proposed (RFC 3923 merged, nightly implementation)

  • Mechanism: -Zmin-publish-age

  • Reference: rust-lang/cargo#17009

With --cooldown set, mpm skips this manager’s install and upgrade operations rather than run them unguarded (fail-closed); --allow-unsupported-managers opts back in.

Reference traces

Raw native outputs captured in the bundled definition: the reference mpm’s parsers were written against. If you know Rust cargo well and a transcript below looks wrong, or a newer release changed its output format, report it.

$ cargo install --list
bore-cli v0.4.0:
    bore
ripgrep v13.0.0:
    rg
$ cargo search --limit 100 {query}
python = "0.0.0"                  # Python.
pyo3 = "0.16.4"                   # Bindings to Python interpreter
... and 1664 crates more (use --limit N to see more)