You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bors f13cb7fa02 Auto merge of #9081 - ximon18:typo-correction, r=ehuss 8 hours ago
.github Update mdbook 1 week ago
ci Fix man CI validation. 3 months ago
crates reduce nesting of if x { } else { if y {} else {} } expressions by concerting to if x {} else if y {} else {} (clippy::collapsible_else_if) 1 week ago
src Typo correction: artifcats -> artifacts 8 hours ago
tests Auto merge of #9066 - rubenrua:hotfix_sort_bins, r=ehuss 2 days ago
.gitignore add VS Code user dir to .gitignore 1 year ago Update changelog for 1.50 1 week ago Add contributor guide. 3 months ago
Cargo.toml Bump to 0.52.0 1 week ago
LICENSE-APACHE HTTPS all the things 1 year ago
LICENSE-MIT Remove inaccurate (misattributed) copyright notices 3 years ago
LICENSE-THIRD-PARTY HTTPS all the things 1 year ago Add contributor guide. 3 months ago Build manpage archive deterministically 5 months ago Fix self-publish script. 6 months ago
triagebot.toml Add triagebot configuration 9 months ago


Cargo downloads your Rust project’s dependencies and compiles your project.

Learn more at

Code Status

Build Status

Code documentation:

Installing Cargo

Cargo is distributed by default with Rust, so if you’ve got rustc installed locally you probably also have cargo installed locally.

Compiling from Source

Cargo requires the following tools and packages to build:

  • git
  • curl (on Unix)
  • pkg-config (on Unix, used to figure out the libssl headers/libraries)
  • OpenSSL headers (only for Unix, this is the libssl-dev package on ubuntu)
  • cargo and rustc

First, you’ll want to check out this repository

git clone
cd cargo

With cargo already installed, you can simply run:

cargo build --release

Adding new subcommands to Cargo

Cargo is designed to be extensible with new subcommands without having to modify Cargo itself. See the Wiki page for more details and a list of known community-developed subcommands.


Cargo releases coincide with Rust releases. High level release notes are available as part of Rust’s release notes. Detailed release notes are available in this repo at

Reporting issues

Found a bug? We’d love to know about it!

Please report all issues on the GitHub issue tracker.


See the Cargo Contributor Guide for a complete introduction to contributing to Cargo.


Cargo is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).


Third party software

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (

In binary form, this product includes software that is licensed under the terms of the GNU General Public License, version 2, with a linking exception, which can be obtained from the upstream repository.

See LICENSE-THIRD-PARTY for details.