One of the most frequent requests we get around Cargo is the ability to run “offline”. This usually comes up in two cases:
- As part of a larger build system.
- Because you’re on a plane.
For the former, we’ve developed a bunch of tools (like
cargo vendor) that let you control the distribution of artifacts and ensure your build is done with local artifacts.
For airplanes, though, we’re not as complete as we could be: if you make non-trivial changes to a Cargo.toml file, Cargo will refuse to re-resolve the dependency graph and produce a new lockfile, Cargo needs to hit the network.
We’d like to change that, by allowing Cargo to use the artifacts that happen to be around on the machine to attempt to re-resolve graphs and so on. And @alexcrichton has put in the work to write up detailed mentoring instructions for implementing exactly this. If this is a problem you care about, this is a chance for you to scratch that itch!
You can find the instructions here – please let us know if you’re interested in taking it on!