Rust Programming By Example
上QQ阅读APP看书,第一时间看更新

Cargo and crates.io

A very important thing to note with Rust's ecosystem is that Cargo is really important if not central. It makes things much easier and all Rust projects are using it.

Cargo isn't only a build tool, it's also Rust's default package manager. If you need to download a dependency, Cargo will do it. You can find all available published crates on https://crates.io/. Consider the following screenshot:

Figure 2.1

In the case of the sdl2 crate, we can see on its page (https://crates.io/crates/sdl2) some interesting and useful information:

Figure 2.2

On the right-hand side, you can see the version history. It can be useful to check whether you have the last version or not and whether the crate is still maintained.

In the middle, you have the crate's dependencies. It's always interesting to know what you'll need to install in addition to your crate if something is missing.

And finally on the left-hand side, you have a few links that might be very useful (not always those ones, it depends on what has been put into the Cargo.toml file):

  • Documentation: This is where the documentation is hosted (even though I generally recommend docs.rs, I'll talk about it in a moment)
  • Repository: This is where this crate's repository is hosted
  • Dependent crates: This is the list of the crates depending on this one
  • Homepage: If the crate has a website, you can go to its link

Time to go back to docs.rs for a bit.