Appreciation For ZVM

ZVM


Its been awhile since I’ve looked at zig. I’m a Kubuntu user and always find application installations cumbersome; out-of-date or non-existent packages, package management repo entry or not, AppImage, clone and build from repo. I also dislike installing everything as root under sudo. ZVM quickly installs multiple versions and allows me to manage them, and places them under my control. As small of a thing this is, I think it removes a lot of friction if everybody know about this utility. I couldn’t find another place to voice my appreciation, so it ended up here.

6 Likes

Same, ZVM is my go to zig manager.

1 Like

which one?

I like the last one the best.

1 Like

No offense, but wouldn’t it be better to open a thread like “My favorite Zig Version Managers” were users can discuss/present different favorite tools for the job, than opening appreciation threads for single tools? The latter version could end up in a large number of short soon-to-be-dead threads, while the first might start a real discussion and could point anyone to unknown projects.

2 Likes

The first repository. https://github.com/tristanisham/zvm

Isn’t this a joke :joy:. That zvm written in Go :joy:

4 Likes

Maybe Claude and Codex just produce(d) better results in Go than in Zig…

1 Like

Nah … not necessarily.

I am using that more generic mise tool and I’m very happy with it.

2 Likes

Throw one more into the mix :rofl:

I actually renamed mine from zvm to zvm.sh after I found out I was late to the zvm party ¯\_(ツ)_/¯

1 Like

I’m liking metazig

I was using zigup until recently, but I wanted that zls automation too (previously wrote my own pwsh and sh scripts to fetch the right version before they had a version resolver).

I saw zvm but also was a little sad to see it wasn’t written in Zig. I was gonna use anyzig since I had a good time with zigup, but the zls support wasn’t quite there yet (at least when testing on my system).

Funny, slowly this thread is turning into the general discussion thread about Zig version management tools, as suggested by me earlier. Thats cool :grin:

So, I also add my favourite Zig manager called zxc. It works very much like anyzig but also supports manual installation/deletion of versions, storing Zig version on local path basis (no build.zig.zon found), and interactive selection upon initial usage. Plus, its easy and lightweight.


PS: Maybe we could simply rename the thread to “My favourite Zig version management tool” or similar :slightly_smiling_face:

I use nix, sometimes with direnv. It fixes this entire class of problem, I can easily automatically get zig at the correct version for any project via a flake or nix shell. I also have a global thing set up so I can nix develop dev#zig-latest anywhere, and get a shell with zig 0.16. The best thing is, it also replaces rustup, neovim version managers, what have ya. And it’s a single tool!

1 Like