Skip to content

Latest commit

Β 

History

History
93 lines (69 loc) Β· 3.45 KB

File metadata and controls

93 lines (69 loc) Β· 3.45 KB

zigverm

zigverm is a version manager for the Zig programming Language. It lets you install Zig and further manage your installation.

Platform Support

Legend:
πŸŽ‰ - Binary releases + automatic installer available
πŸ’ͺ - binary releases available
❌ - No binary releases. Maybe supported later. Requires compiling
- - Not applicable

OS/Arch x86_64 x86 aarch64 armv7a riscv64
Windows πŸŽ‰ πŸŽ‰ ❌ - -
Linux πŸŽ‰ πŸŽ‰ πŸŽ‰ ❌ ❌
MacOS πŸŽ‰ - πŸŽ‰ - -

Installation

For Linux and MacOS (x86_64/aarch64)

You can use this automated install script which will install zigverm along with the latest version of Zig

curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/AMythicDev/zigverm/main/scripts/install.sh | bash

By default it will create $HOME/.zigverm directory as the root folder for zigverm. You can customize this by setting this by setting the ZIGVERM_ROOT_DIR to the directory where you want to install zigverm. Make sire you add the ZIGVERM_ROOT_DIR in your shell config otherwise zigverm would not be able to locate the installation folder.

The script will also put the installation directory's bin folder to your $PATH variable. For this it will append a line to your $HOME/.profile and your shell's rc file. The file for each shell supported is listed below:

  • Bash: $HOME/.bashrc
  • Zsh: $HOME/.zshrc
  • Fish: $XDG_CONFIG_HOME/fish/config.fish, if not set then uses $HOME/.config/fish/config.fish

For Windows

Download the automatic installer from the Releases page and run it in Windows PowerShell. Similar to Linux/MacOS, the ZIGVERM_ROOT_DIR enviroment variable can be set before running the automatic installer to set the zigverm install location.

Compiling

Requirements:

  • zigverm can only be compiled with Zig master for now, until Zig v0.16 is released.
  • libc on non-Windows systems. Can be provided by Zig itself, if available for the platform.
  • git, if you want to compile the latest commit or you want to develop zigverm.

Now to compile:

  • Clone the repo or download a source archive depending on if you want to compile the latest main branck or a release.
  • Extract the archive and change into the extracted directory.
  • Run the following command
zig build --release=safe
  • If you are devloping zigverm, you can omit the --release=safe flag.
  • You will have zigverm and zig in zig-out/bin/ directory.
  • Create the following folder structure in ~/.zigverm/
.
β”œβ”€β”€ bin
β”œβ”€β”€ downloads
└── installs
  • Copy zigverm and zig binaries to the bin/ folder.
  • Add the bin/ directory to your PATH enviroment variable.

Features

  • Install versions (master, stable, x.y x.y.z)
  • Continue download if previously interrupted
  • Remove versions
  • List down installed versions
  • Update zigverm itself
  • Manage default and per-directory version overrides
  • Open the language reference and standard library docs (even when offline).
  • Tries to maintain strong compatiblity with the wider zig ecosystem (zls, zig.vim)

Docs

Read the User Guide

License

zigverm is licensed under the Apache License 2.0. See the LICENSE file.