2017-10-31 20:37:45 +00:00
|
|
|
|
# Cargo
|
|
|
|
|
|
2014-06-24 00:02:22 +00:00
|
|
|
|
Cargo downloads your Rust project’s dependencies and compiles your project.
|
|
|
|
|
|
2018-02-03 21:48:24 +00:00
|
|
|
|
Learn more at https://doc.rust-lang.org/cargo/
|
2014-06-24 00:02:22 +00:00
|
|
|
|
|
2016-03-12 18:40:03 +00:00
|
|
|
|
## Code Status
|
2017-10-31 20:37:45 +00:00
|
|
|
|
|
2016-03-12 18:40:03 +00:00
|
|
|
|
[![Build Status](https://travis-ci.org/rust-lang/cargo.svg?branch=master)](https://travis-ci.org/rust-lang/cargo)
|
2017-03-01 12:55:57 +00:00
|
|
|
|
[![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-lang/cargo?branch=master&svg=true)](https://ci.appveyor.com/project/rust-lang-libs/cargo)
|
2016-03-12 18:40:03 +00:00
|
|
|
|
|
2018-02-12 18:27:45 +00:00
|
|
|
|
Code documentation: https://docs.rs/cargo/
|
|
|
|
|
|
2015-07-07 20:55:36 +00:00
|
|
|
|
## Installing Cargo
|
2014-07-07 14:49:14 +00:00
|
|
|
|
|
2015-07-07 20:55:36 +00:00
|
|
|
|
Cargo is distributed by default with Rust, so if you've got `rustc` installed
|
|
|
|
|
locally you probably also have `cargo` installed locally.
|
2014-07-07 14:49:14 +00:00
|
|
|
|
|
2015-07-07 20:55:36 +00:00
|
|
|
|
## Compiling from Source
|
2014-04-11 10:11:45 +00:00
|
|
|
|
|
2014-09-07 18:25:26 +00:00
|
|
|
|
Cargo requires the following tools and packages to build:
|
|
|
|
|
|
|
|
|
|
* `python`
|
2015-07-07 20:55:36 +00:00
|
|
|
|
* `curl` (on Unix)
|
|
|
|
|
* OpenSSL headers (only for Unix, this is the `libssl-dev` package on ubuntu)
|
2016-12-26 01:02:04 +00:00
|
|
|
|
* `cargo` and `rustc`
|
2014-09-07 18:25:26 +00:00
|
|
|
|
|
2016-01-23 00:09:17 +00:00
|
|
|
|
First, you'll want to check out this repository
|
2014-07-30 17:11:36 +00:00
|
|
|
|
|
2016-01-23 00:09:17 +00:00
|
|
|
|
```
|
2018-03-11 22:09:57 +00:00
|
|
|
|
git clone https://github.com/rust-lang/cargo
|
2014-08-17 22:58:07 +00:00
|
|
|
|
cd cargo
|
2016-01-23 00:09:17 +00:00
|
|
|
|
```
|
|
|
|
|
|
2016-12-26 01:02:04 +00:00
|
|
|
|
With `cargo` already installed, you can simply run:
|
2016-01-23 00:09:17 +00:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
cargo build --release
|
|
|
|
|
```
|
|
|
|
|
|
2015-02-23 13:12:44 +00:00
|
|
|
|
## Adding new subcommands to Cargo
|
|
|
|
|
|
2015-07-07 20:55:36 +00:00
|
|
|
|
Cargo is designed to be extensible with new subcommands without having to modify
|
|
|
|
|
Cargo itself. See [the Wiki page][third-party-subcommands] for more details and
|
|
|
|
|
a list of known community-developed subcommands.
|
2015-02-23 13:12:44 +00:00
|
|
|
|
|
|
|
|
|
[third-party-subcommands]: https://github.com/rust-lang/cargo/wiki/Third-party-cargo-subcommands
|
|
|
|
|
|
2014-06-24 20:37:28 +00:00
|
|
|
|
|
2016-09-30 23:51:08 +00:00
|
|
|
|
## Releases
|
|
|
|
|
|
|
|
|
|
High level release notes are available as part of [Rust's release notes][rel].
|
|
|
|
|
Cargo releases coincide with Rust releases.
|
|
|
|
|
|
|
|
|
|
[rel]: https://github.com/rust-lang/rust/blob/master/RELEASES.md
|
|
|
|
|
|
2017-09-30 09:18:22 +00:00
|
|
|
|
## Reporting issues
|
2014-07-30 17:11:36 +00:00
|
|
|
|
|
|
|
|
|
Found a bug? We'd love to know about it!
|
|
|
|
|
|
2018-04-17 20:14:41 +00:00
|
|
|
|
Please report all issues on the GitHub [issue tracker][issues].
|
2014-07-30 17:11:36 +00:00
|
|
|
|
|
|
|
|
|
[issues]: https://github.com/rust-lang/cargo/issues
|
|
|
|
|
|
2017-09-03 09:47:49 +00:00
|
|
|
|
## Contributing
|
|
|
|
|
|
2018-04-17 20:10:28 +00:00
|
|
|
|
See [CONTRIBUTING.md](CONTRIBUTING.md). You may also find the architecture
|
2017-10-31 20:37:45 +00:00
|
|
|
|
documentation useful ([ARCHITECTURE.md](ARCHITECTURE.md)).
|
2017-09-03 09:47:49 +00:00
|
|
|
|
|
2014-06-24 15:10:31 +00:00
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
|
Cargo is primarily distributed under the terms of both the MIT license
|
|
|
|
|
and the Apache License (Version 2.0).
|
|
|
|
|
|
|
|
|
|
See LICENSE-APACHE and LICENSE-MIT for details.
|
2014-10-02 19:40:33 +00:00
|
|
|
|
|
|
|
|
|
### Third party software
|
|
|
|
|
|
|
|
|
|
This product includes software developed by the OpenSSL Project
|
|
|
|
|
for use in the OpenSSL Toolkit (http://www.openssl.org/).
|
|
|
|
|
|
|
|
|
|
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][1].
|
|
|
|
|
|
2017-10-31 20:37:45 +00:00
|
|
|
|
See LICENSE-THIRD-PARTY for details.
|
|
|
|
|
|
2014-10-02 19:40:33 +00:00
|
|
|
|
[1]: https://github.com/libgit2/libgit2
|
|
|
|
|
|