Lightweight binary to download only project required crates for offline crates.io mirror
Either build from published source in crates.io.
$ cargo install zerus --locked
Or download from github releases.
Usage: zerus [OPTIONS] <MIRROR_PATH> [WORKSPACES]...
Arguments:
<MIRROR_PATH> new directory to contain offline mirror crate files
[WORKSPACES]... list of Cargo.toml files to vendor depends
Options:
--build-std <VERSION> Cache build-std depends for nightly version
--skip-git-index Skip download of git index crates.io
-h, --help Print help
Example:
$ zerus new-mirror ../deku/Cargo.toml ../adsb_deku/Cargo.toml
# configure crates.io-index to point to our host
$ cat crates.io-index/config.json
{
"dl": "http://[IP]/crates/{prefix}/{crate}/{version}/{crate}-{version}.crate",
"api": "http://[IP]/crates"
}
Use any http(s)
server.
Add the following to the .cargo/config
file(replacing IP with your ip).
[source.zerus]
registry = "sparse+http://[IP]/crates.io-index/"
[source.crates-io]
replace-with = "zerus"
Through the use of margo, you can make a alternate Cargo registry without
downloading the entire crates.io
git index.
$ zerus mirror ../deku/Cargo.toml --build-std nightly --skip-git-index
$ margo add --registry my-registry-directory mirror/*/*/*/*/*/*.crate