docs/lang/zig.md
mise can be used to install and manage multiple versions of zig on the same system.
The following are instructions for using the zig mise core plugin.
The code for this is inside the mise repository at
./src/plugins/core/zig.rs.
The following installs zig and makes it the global default:
mise use -g [email protected] # install zig 0.14.x
mise use -g zig@latest # install latest zig release
mise use -g zig@master # install latest nightly from master
mise use -g [email protected] # install Mach nominated zig
mise use -g zig@mach-latest # install latest Mach nominated zig
See available stable versions with mise ls-remote zig.
Note that Mach versions
won't show in mise ls-remote zig due to workaround for
version ordering bug.
Despite of that, you still can install Mach versions listed in
Mach version index. The following
command will list available Mach versions:
curl https://machengine.org/zig/index.json | yq 'keys'
master (nightly channel)zig@master tracks a moving nightly. mise resolves it to the concrete dev version
it currently points at (e.g. 0.17.0-dev.836+...) at install time, so the install
lands in a versioned directory and mise upgrade zig / mise outdated pick up
newer nightlies — instead of the channel staying pinned to the build it was first
installed from. Run mise upgrade zig (or mise install -f zig@master) to move to
the current nightly.
The zig language server (zls) needs to be installed separately.
You can install it with mise:
mise use -g [email protected] # install zls 0.14.x
mise use -g zls@latest # install latest zls release
Note that a tagged release of zig should be used with
the same tagged release of zls. Currently there is no Mach version of zls.
The following tool-options are available for the zig backend.
These options go in the [tools] section in mise.toml.
install_envSet environment variables for install-time commands run by the core zig backend:
[tools]
zig = { version = "latest", install_env = { HTTPS_PROXY = "http://proxy.example" } }