Cargo, Rust’s Package Manager
Installing
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 https://static.rust-lang.org/rustup.sh | 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
└── main.rs
1 directory, 2 files
This is all we need to get started. First, let’s check out Cargo.toml
:
[package]
name = "hello_world"
version = "0.1.0"
authors = ["Your Name <you@example.com>"]
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/main.rs
:
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