> Cargo is the [Rust](https://www.rust-lang.org/) [_package manager_](https://doc.rust-lang.org/cargo/appendix/glossary.html#package-manager). Cargo downloads your Rust [package](https://doc.rust-lang.org/cargo/appendix/glossary.html#package )'s dependencies, compiles your packages, makes distributable packages, and uploads them to [crates.io](https://crates.io/), the Rust community’s [_package registry_](https://doc.rust-lang.org/cargo/appendix/glossary.html#package-registry ). Cargo does four things: - Introduces two metadata files with various bits of package information. - Fetches and builds your package’s dependencies. - Invokes `rustc` or another build tool with the correct parameters to build your package. - Introduces conventions to make working with Rust packages easier. ```ad-info To a large extent, Cargo normalizes the commands needed to build a given program or library ``` ## Quick Installation The easiest way to get Cargo is to install the current stable release of [Rust](https://www.rust-lang.org/) by using `rustup`. Installing Rust using `rustup` will also install `cargo`. On Linux and macOS systems, this is done as follows: `curl https://sh.rustup.rs -sSf | sh` It will download a script, and start the installation. If everything goes well, you’ll see this appear: `Rust is installed now. Great!` ## Useful commands To start a new package we simply run - `$ cargo new hello_world`