macOS
brew install ziglocal Homebrew formula metadata
安装
brew install ziglocal Homebrew formula metadata
sudo apk add zigAlpine Linux edge package indexes · zig · 来源: dl-cdn.alpinelinux.org
sudo dnf install zigFedora Rawhide package metadata · zig · 来源: dl.fedoraproject.org
nix profile install nixpkgs#zignixpkgs package indexes · zig · 来源: raw.githubusercontent.com
sudo pacman -S zigArch Linux sync databases · zig · 来源: geo.mirror.pkgbuild.com
sudo zypper install zigopenSUSE Tumbleweed package metadata · zig · 来源: download.opensuse.org
choco install zigChocolatey community package catalog · zig · 来源: community.chocolatey.org
scoop install main/zigScoop official bucket manifest trees · bucket/zig.json · 来源: api.github.com
winget install --id zig.zig -eWindows Package Manager source index · zig.zig · 来源: cdn.winget.microsoft.com
概览
Programming language designed for robustness, optimality, and clarity
历史
Zig is a general-purpose systems programming language and toolchain created by Andrew Kelley, aimed at robust, optimal, and reusable software. For package nerds it is unusually important because the packaged artifact is not just a language compiler: the zig executable is also a build runner, cross C/C++ compiler driver, linker front-end, test runner, formatter, documentation generator, and, since 0.11, the home of Zig package management.
The public Zig repository dates to August 2015 on GitHub, and the project grew around the idea that a C-like systems language could make compile-time execution, explicit allocation, error handling, cross-compilation, and C interop feel like one coherent toolchain instead of a pile of external build machinery. The Zig home page still presents that philosophy through simple-language constraints such as no hidden control flow, no hidden allocations, and no preprocessor or macros.
A major internal evolution was the self-hosted compiler. Loris Cro described the 0.10-era switch as shipping a new compiler written in Zig, cutting compiler-build memory use from 9.6 GB to 2.8 GB in one example and opening the door to custom backends and the official package manager. Zig 0.11 then removed the old stage1 path from normal use, bootstrapped through a small WebAssembly compiler artifact, and described the compiler as 100% Zig code apart from LLVM libraries.
Zig 0.11 was also the debut of the official package manager. Instead of creating a central package registry, the release notes describe packages as arbitrary directory trees, local directories, or archives fetched from URLs, with metadata in build.zig.zon and integration through the Zig build system. That design kept package management close to zig build and reinforced Zig's identity as a toolchain rather than only a language front end.
In November 2025, the Zig project made its canonical repository Codeberg instead of GitHub. Andrew Kelley's migration post says the GitHub mirror was made read-only and origin/master moved to https://codeberg.org/ziglang/zig.git, a governance and infrastructure milestone for a project funded through the Zig Software Foundation.
Zig's adoption has been strongest where a small, reproducible native toolchain matters: cross-compiling C/C++, shipping static command-line programs, language runtimes, databases, terminal tools, game-adjacent systems code, and embedded or freestanding experiments. The language's package-manager story lagged behind the compiler for years, so early ecosystem practice often involved vendoring, git submodules, or third-party tools before build.zig.zon became the official path.
One important adoption path was zig cc rather than Zig-the-language. Motiejus Jakstys' write-up of Uber's usage describes Uber using Zig to compile C/C++ code in its Go monorepo, attracted by configurable glibc versions and macOS cross-compilation. This made Zig visible to package and build-system people even in places where no application code was written in Zig.
The 0.14 and 0.15 release cycles show the project trying to turn interest into daily usability. Zig 0.14 emphasized long-term investments in incremental compilation and the x86 backend, while 0.15 enabled the self-hosted x86_64 backend by default for most Debug-mode x86_64 targets and reported roughly 5x faster Debug compilation than LLVM in most cases.
Typical package-manager usage starts with installing the single zig command, then using zig build, zig test, zig fmt, zig cc, zig c++, zig run, and zig fetch-style package workflows depending on project age. Zig projects conventionally use build.zig as executable build logic and, for modern package-manager integration, build.zig.zon for package metadata and dependencies.
Zig is also frequently installed as a hermetic C/C++ toolchain. A package maintainer can reach for zig cc to cross-compile without separately installing target libc headers, linker bits, and SDK fragments, which is why Zig appears in build farms and language-package recipes even when the upstream project is C or C++.
Because Zig has not reached 1.0, package users often pin compiler versions tightly. Formulae such as zig@0.14 and zig@0.15 exist because build-system APIs, standard-library APIs, and language details can change enough that downstream projects need a known compiler generation rather than whatever the latest zig package currently provides.
Zig is one of the clearest modern examples of a language package doubling as a distribution primitive. It collapses compiler, build system, package manager, C/C++ cross toolchain, and linker driver into one installable binary, which changes how downstream packages think about bootstrapping and cross-platform builds.
The official package manager is package-nerd interesting precisely because it avoids a central registry. The package is a source tree plus build.zig.zon metadata and a hashable fetched dependency, so the ecosystem's trust, cache, and reproducibility questions look more like Go modules and source archives than npm-style registry publication.
Zig's versioned packages are also a live reminder that pre-1.0 languages are not just semver labels in package managers. Keeping 0.14 and 0.15 installable gives downstream recipes a way to survive build.zig API churn while still letting the main zig formula move.
安全态势
generalized runtime or code generation signal.
yellow 风险 · 中 置信度 · runtime
在无人值守的代理使用前,请检查该工具是否读取明文凭据、写入远程状态、发布制品或调用插件。
可执行文件
| 命令 | 类型 | 暴露范围 | 备注 |
|---|---|---|---|
zig | 可执行文件 | 已索引可执行文件 | 从本地可执行文件索引发现。 |
新鲜度
这些信号区分页生成时间、软件包管理器活动和上游发布比较。只有存在证据 URL 和可比较版本时,才会提示版本落后。
安装元数据
| 软件包键 | brew:zig |
|---|---|
| 版本 | 0.16.0 |
| 软件包管理器 | Homebrew |
| 主页 | https://ziglang.org/ |
| 最后更新 | 2026-07-11T09:18:36-04:00 |
| Pulse | updated |
| Bottle | 未记录 |
| 服务 | 未声明 |
源数据库匹配
匹配项来自外部软件包管理器索引,并与本地 Automic Vault 软件包链接分开显示。
zig
nix profile install nixpkgs#zigzig 0.16.0-r1
General-purpose programming language designed for robustness, optimality, and maintainability
sudo apk add zigzig-doc 0.16.0-r1
General-purpose programming language designed for robustness, optimality, and maintainability (documentation)
sudo apk add zig-doczig 0.16.0-2.fc45
Programming language for maintaining robust, optimal, and reusable software
sudo dnf install zigzig-doc 0.16.0-2.fc45
Documentation for zig
sudo dnf install zig-doczig-libs 0.16.0-2.fc45
zig Standard Library
sudo dnf install zig-libszig-rpm-macros 0.16.0-2.fc45
Common RPM macros for zig
sudo dnf install zig-rpm-macroszig 0.16.0-1
a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software
sudo pacman -S zigzig 0.15.2-1.2
Compiler for the Zig language
sudo zypper install zigzig0.14 0.14.1-2.5
Compiler for the Zig language
sudo zypper install zig0.14zig0.15 0.15.2-2.5
Compiler for the Zig language
sudo zypper install zig0.15zig0.16 0.16.0-1.3
Compiler for the Zig language
sudo zypper install zig0.16zig
sudo port install zigzig
choco install zigmain/zig
scoop install main/zigzig.zig
winget install --id zig.zig -e来源线索
此页面由 av-web 从 scripts/generate-pkg-sqlite.py 生成的私有软件包 SQLite 工件提供。
View the package source record on GitHub.