Introducing zv: A fast Zig version manager written in Rust
Tired of juggling Zig versions? Or need a zig project that's light on boilerplate than `zig init`? Or do you keep missing out on the right `zls` version for your active zig?
I built `zv` to address these make installing/switching between Zig toolchains effortless. Regardless of your platform. It's should auto-detect your shell during setup & from there generate two managed shims `zig` and `zls` to enable inline zig version overrides like `zig +master build run` or let's you use a `.zigversion` file that contains the zig version you wanna pin the project to.
Clean up unused zig versions :
`zv clean master,0.14.0.14.1`
or in one shot
`zv clean --except master` to just keep the master build around.
Community mirrors are preffered for downloads:
`zv use 0.15.1` but can be overriden to use ziglang.org:
`zv use 0.15.1 --force-ziglang` or `-f`
Status: Alpha but stable! I've tested most core features and they work great and working great. ZLS support coming soon. Self update coming soon but is already implemented in `zv setup` so that if the `zv` binary in your path is of a lower version, running `zv setup` on the newer binary will auto-replace the older binary.
Install via cargo: cargo install zv.
Then run zv setup to add ZV_DIR/bin to your path
Finally uninstall the cargo binary: cargo uninstall zv.
You should now have a working zv & zig binary in your path that's "universal"
GitHub: https://github.com/weezy20/zv
Would love feedback from the Zig community! What features would you find most useful?
.png)

