github.com/rust-lang/cargo

The Rust package manager

Open this visualization on its own page →

Contributors

877

Lines of Code

34,130

From

2014-03-04

To

2022-06-13

About rust-lang/cargo

Cargo is the official package manager and build system for the Rust programming language. It handles downloading project dependencies from registries, managing versions, and compiling Rust projects with a single command. Cargo is distributed as part of the Rust toolchain and is maintained by the Rust team for use across the wider ecosystem.

The project is written in Rust itself and handles complex tasks including dependency resolution, git-based package fetching via libgit2, network operations through libcurl, and compilation orchestration. It supports optional features like vendored OpenSSL for security and can be extended with third-party subcommands without modifying the core tool. Cargo releases are synchronized with Rust's main language releases.

Building Cargo from source requires a C compiler, Rust itself, and git, along with optional system libraries for networking and version control. The project is designed to work across multiple platforms including Unix-like systems, macOS, and Windows, using platform-specific approaches like Schannel on Windows instead of requiring OpenSSL. It is licensed under both MIT and Apache 2.0 licenses.

Share this video