Cargo, Rust’s Package Manager


Install Stable Rust and Cargo

The easiest way to get Cargo is to get the current stable release of Rust by using the rustup script:

$ curl -sSf | sh

After this, you can use the rustup command to also install beta or nightly channels for Rust and Cargo.

Install Nightly Cargo

To install just Cargo, the current recommended installation method is through the official nightly builds. Note that Cargo will also require that Rust is already installed on the system.

Platform 64-bit 32-bit
Linux binaries tar.gz tar.gz
MacOS binaries tar.gz tar.gz
Windows binaries tar.gz tar.gz

Build and Install Cargo from Source

Alternatively, you can build Cargo from source.

Let’s get started

To start a new project with Cargo, use cargo new:

$ cargo new hello_world --bin

We’re passing --bin because we’re making a binary program: if we were making a library, we’d leave it off.

Let’s check out what Cargo has generated for us:

$ cd hello_world
$ tree .
├── Cargo.toml
└── src

1 directory, 2 files

This is all we need to get started. First, let’s check out Cargo.toml:

name = "hello_world"
version = "0.1.0"
authors = ["Your Name <>"]

This is called a manifest, and it contains all of the metadata that Cargo needs to compile your project.

Here’s what’s in src/

fn main() {
    println!("Hello, world!");

Cargo generated a “hello world” for us. Let’s compile it:

$ cargo build
   Compiling hello_world v0.1.0 (file:///path/to/project/hello_world)

And then run it:

$ ./target/debug/hello_world
Hello, world!

We can also use cargo run to compile and then run it, all in one step:

$ cargo run
     Fresh hello_world v0.1.0 (file:///path/to/project/hello_world)
   Running `target/hello_world`
Hello, world!

Going further

For more details on using Cargo, check out the Cargo Guide