11 releases (breaking)
0.10.1 | Oct 25, 2024 |
---|---|
0.9.0 | Oct 12, 2024 |
0.8.1 | May 30, 2024 |
0.6.0 | Feb 28, 2024 |
0.2.0 | Aug 7, 2022 |
#217 in Development tools
28KB
430 lines
zerus
Lightweight binary to download only project required crates for offline crates.io mirror
Build zerus
Either build from published source in crates.io.
$ cargo install zerus --locked
Or download from github releases.
Usage
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
--git-index-url <GIT_INDEX_URL> hostname for git index crates.io
--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 --git-index-url http://127.0.0.1
Serve mirror
Use any http(s)
server.
Build with mirror
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"
Margo
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
Dependencies
~18–35MB
~626K SLoC