# Cargo

123 Hacker News commenters recommended Cargo and 111 criticized it, November 2025 to November 2026. It was recommended in 12 of 13 months; owners who said how long report a median of 6 years (4 owners).

**Verdict:** Rust's all-in-one build tool and package manager that handles building, testing, docs and publishing with little fuss, though critics cite npm-style supply-chain risks and weak C/C++ interop.

## Why people recommend it

- Builds just work, no dependency hell (6 comments): "It just also almost always works flawlessly (and the script itself has a standardised name), so you don't notice most of the time." ([source](https://news.ycombinator.com/item?id=47569244)) "I can pull down some code, run `cargo build`, and not have to worry about the right libraries being installed on my system" ([source](https://news.ycombinator.com/item?id=46659428)) "the lack of dependency hell until I hit a c/c++ component somewhere in the build is the real winner" ([source](https://news.ycombinator.com/item?id=47566931))
- Build, test, docs, publish in one (5 comments): "Cargo is your build system, package manager, test runner, doc generator, and publisher in one coherent thing." ([source](https://news.ycombinator.com/item?id=47433056)) "Something like Cargo does all of this for you, which is why people prefer it to calling rustc directly." ([source](https://news.ycombinator.com/item?id=47021465)) "you can run cargo doc to generate & open the documentation of your project and all your dependencies" ([source](https://news.ycombinator.com/item?id=45952057))
- Beats other languages' tooling (5 comments): "the big adv Cargo/Rust has is learning from past mistakes, and taking good ideas that have come up; discarding bad" ([source](https://news.ycombinator.com/item?id=46799016)) "Cargo and the crate ecosystem are a dream compared to the lack of any easy-to-use build tooling" ([source](https://news.ycombinator.com/item?id=47999334)) "The result was a famously well-designed toolchain that the entire community praises." ([source](https://news.ycombinator.com/item?id=46410802))
- Unifies the Rust ecosystem (3 comments): "I love that cargo unifies the ecosystem, no quabble over one shitty build tool over another." ([source](https://news.ycombinator.com/item?id=47192757)) "Cargo and the crate ecosystem are a dream compared to the lack of any easy-to-use build tooling" ([source](https://news.ycombinator.com/item?id=47999334)) "virtually every software package of any version is available to you in cargo or npm" ([source](https://news.ycombinator.com/item?id=45789291))

## What people warn about

- Supply-chain risks like npm (8 comments): "use package managers (npm, cargo, pip, etc) outside of a VM you are substantially more vulnerable to attack" ([source](https://news.ycombinator.com/item?id=47550905)) "Cargo isn't immune to this, as much as I love Rust and wish more shops used it." ([source](https://news.ycombinator.com/item?id=48102364)) "Notably, crates.io / cargo has some of the same issues as NPM and the verbiage of their excuses for not fixing these problems is oddly similar." ([source](https://news.ycombinator.com/item?id=48156164))
- Poor interop with C/C++ and distros (4 comments): "there is a tradeoff between "one first-class package manager and build system" and "lackluster support for various build systems"" ([source](https://news.ycombinator.com/item?id=46306520)) "Cargo is great as long as it is only Rust code and there is little need to interop with platform SDKs" ([source](https://news.ycombinator.com/item?id=47192941)) "the lack of dependency hell until I hit a c/c++ component somewhere in the build is the real winner" ([source](https://news.ycombinator.com/item?id=47566931))
- Dependency version sprawl (5 comments): "The only thing I'd like to see is the ability to programmatically limit transitive dependency count or depth in Cargo." ([source](https://news.ycombinator.com/item?id=49377983)) "I haven't run into the "five versions of serde" problem, but I can easily imagine it." ([source](https://news.ycombinator.com/item?id=46029100)) "some package managers (including Cargo and npm) confusingly treat 0.1.0 → 0.1.1 like a "minor" update, despite the spec" ([source](https://news.ycombinator.com/item?id=47420089))
- Huge cache and disk clutter (2 comments): "Cargo's cache is ridiculously massive (half of which is debug info: zero-cost abstractions have full-cost debug metadata)" ([source](https://news.ycombinator.com/item?id=46086945)) "none of those should be putting their stuff (especially temporary junk) directly and unsegmented into $HOME" ([source](https://news.ycombinator.com/item?id=45994734))

## Alternatives hackers recommend

- [Nix](https://hackerapproved.com/p/nix.md): 378 recommend
- [Homebrew](https://hackerapproved.com/p/homebrew.md): 271 recommend
- [npm](https://hackerapproved.com/p/npm.md): 161 recommend
- [pnpm](https://hackerapproved.com/p/pnpm.md): 124 recommend
- [GNU Guix](https://hackerapproved.com/p/gnu-guix.md): 84 recommend

## Cite as

Hacker Approved, "Cargo", https://hackerapproved.com/p/cargo/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
