ZVC
ZVC - Zig Version Control
Tool sederhana untuk menginstall, mengelola, dan menggunakan berbagai versi Zig di sistem Linux dan macOS. Dibuat murni menggunakan POSIX sh - tanpa dependency tambahan selain curl atau wget dan tar.
sudo zvc -i 0.16.0
sudo zvc -s 0.16.0
zig version
Fitur
- Install beberapa versi Zig secara bersamaan
- Deteksi arsitektur dan OS otomatis
- Support binary, source code, dan bootstrap tarball
- Support versi nightly (master)
- Set versi default sistem
- Gunakan versi tertentu secara sementara (per-session)
- Remove per-versi, per-variant, atau semua sekaligus
- Portabel: berjalan di semua arsitektur dan libc (glibc/musl)
- Tidak memerlukan Rust, Python, Node.js, atau runtime lainnya
Dependency
| Dependency | Keterangan |
|---|---|
sh |
POSIX sh (dash, bash, busybox sh, dll) |
curl atau wget |
Salah satu wajib tersedia |
tar |
Untuk ekstraksi tarball |
Instalasi
git clone https://github.com/gh0st4n/ZVC
cd ZVC
sudo sh install.sh
Verifikasi:
zvc -v
Untuk menghapus ZVC dari sistem:
sudo sh uninstall.sh
Penggunaan
Install Zig
Install versi stabil — arch terdeteksi otomatis:
sudo zvc -i 0.16.0
Tentukan arch secara manual:
sudo zvc -i 0.16.0 aarch64
Install source code atau bootstrap:
sudo zvc -i 0.16.0 source
sudo zvc -i 0.16.0 bootstrap
Install versi nightly (master):
sudo zvc -i master
sudo zvc -i master source
sudo zvc -i master bootstrap
Lihat Daftar Versi
Versi yang tersedia di ziglang.org:
zvc -l download
Output:
VERSION VARIANT PLATFORM
──────────────────────────────────────────────────────────────────────────
master source All (Zig Source Code)
master bootstrap All (Zig Bootstrap)
master x86_64 Linux / MacOS / Windows / FreeBSD / NetBSD / OpenBSD
master aarch64 Linux / MacOS / Windows / FreeBSD / NetBSD / OpenBSD
...
Versi yang sudah terinstall di sistem:
zvc -l system
Output:
NAME PATH
────────────────────────────────────────────────────────────────────────
zig-x86_64-linux-0.16.0 /opt/zvc/zig-x86_64-linux-0.16.0
zig-source-0.16.0 /opt/zvc/zig-source-0.16.0
Set Versi Default
Menjadikan versi tertentu sebagai zig default di seluruh sistem (/usr/local/bin/zig):
sudo zvc -s 0.16.0
sudo zvc -s master
Verifikasi:
zig version
Hapus default tanpa uninstall Zig-nya:
sudo zvc -d
Gunakan Versi Tertentu (Sementara)
Aktifkan versi tertentu hanya untuk session terminal saat ini:
zvc -u 0.16.0
zvc -u master
Langsung jalankan perintah Zig dengan versi tertentu:
zvc -u 0.16.0 -- build
zvc -u 0.16.0 -- version
zvc -u master -- build -Doptimize=ReleaseSafe
Tentukan arch secara manual:
zvc -u 0.16.0 x86_64 -- build
Remove Zig
Hapus semua Zig yang terinstall:
sudo zvc -r all
Hapus semua variant dari satu versi:
sudo zvc -r 0.16.0
sudo zvc -r master
sudo zvc -r source
sudo zvc -r bootstrap
Hapus satu variant spesifik:
sudo zvc -r 0.16.0 x86_64
sudo zvc -r 0.16.0 source
sudo zvc -r 0.16.0 bootstrap
Struktur Direktori
/opt/zvc/
├── zig-x86_64-linux-0.16.0/ ← binary (x86_64, Linux, stable)
│ ├── zig
│ ├── lib/
│ └── ...
├── zig-aarch64-linux-0.16.0/ ← binary (aarch64, Linux, stable)
├── zig-source-0.16.0/ ← source code tarball
├── zig-bootstrap-0.16.0/ ← bootstrap tarball
└── zig-x86_64-linux-0.17.0-dev.956+2dca73595/ ← master/nightly
Arsitektur yang Didukung
uname -m |
Target Zig | OS |
|---|---|---|
x86_64 |
x86_64 |
Linux, macOS, Windows, FreeBSD, NetBSD, OpenBSD |
aarch64 |
aarch64 |
Linux, macOS, Windows, FreeBSD, NetBSD, OpenBSD |
armv7l, armv6l |
arm |
Linux, FreeBSD, NetBSD, OpenBSD |
riscv64 |
riscv64 |
Linux, FreeBSD, OpenBSD |
i386, i686 |
x86 |
Linux, Windows, NetBSD |
loongarch64 |
loongarch64 |
Linux |
s390x |
s390x |
Linux |
Referensi Perintah
sudo zvc -i, --install <version> [arch] Install Zig
zvc -l, --list [download|system] Tampilkan daftar Zig
sudo zvc -r, --remove <version|all> [arch] Hapus Zig
zvc -u, --use <version> [arch] [-- ...] Gunakan versi tertentu (sementara)
sudo zvc -s, --set <version> [arch] Set versi default sistem
sudo zvc -d, --disable Hapus symlink default
zvc -h, --help Tampilkan bantuan
zvc -v, --version Tampilkan versi ZVC
Catatan
sourcedanbootstraptidak memiliki binaryzig— keduanya digunakan untuk membangun Zig dari source, bukan untuk development langsung- Versi
masterter-install dengan nama folder yang menyertakan full version string (misal:zig-x86_64-linux-0.17.0-dev.956+2dca73595) - Binary dari arsitektur berbeda tidak bisa dijalankan di mesin yang tidak kompatibel — ZVC akan memberikan error yang jelas
- Setelah
sudo zvc -datausudo zvc -r, jalankanhash -ratau buka terminal baru untuk membersihkan cache shell
Lisensi
MIT License — bebas digunakan, dimodifikasi, dan didistribusikan.