Zig在Linux上推荐直接下载官网预编译tar.xz包安装,需正确解压至有权限目录(如~/zig)、配置PATH并source刷新shell环境,再通过zig version和zig run test.zig验证;避免使用snap等包管理器或源码编译。

zig 在 Linux 上安装不难,但路径、权限和 PATH 配置这三步出错,就会导致终端里敲 zig version 报 “command not found”。
下载对应架构的预编译包最稳
别用包管理器(如 snap install zig --classic --beta),它在部分发行版上会卡在 error: too early for operation,重试多次也无效。直接去 官网下载页 拿最新稳定版(比如 0.14.1)的 tar.xz 包更可靠。
先确认你的架构:
uname -m
常见对应关系:
-
x86_64→ 下载zig-linux-x86_64-0.14.1.tar.xz -
aarch64→ 下载zig-linux-aarch64-0.14.1.tar.xz
下载后解压到你有写权限的位置,比如 ~/zig(推荐)或 /usr/local/zig(需 sudo)。
PATH 配置必须生效才真正“装好”
解压只是把文件放对地方,zig 命令能全局调用靠的是 PATH。很多人解压完就跑 zig version,失败是因为没刷新 shell 环境。
以安装到 ~/zig 为例:
- 编辑
~/.bashrc或~/.zshrc,追加一行:export PATH="$HOME/zig:$PATH" - 执行
source ~/.bashrc(或source ~/.zshrc) - 新开一个终端窗口再试
zig version—— 不要只在当前终端里source后就以为万事大吉,VS Code 的集成终端、IDE 启动的终端可能仍读的是旧环境
验证时别只看版本号,还要跑个最小测试
zig version 输出版本只是第一步。真正确认编译器工作正常,得让它实际编译并运行一段代码:
echo 'const std = @import("std"); pub fn main() void { std.debug.print("OK\n", .{}); }' > test.zig<br>zig run test.zig
如果输出 OK,说明整个工具链(解析、IR 生成、链接)都通了。如果报错 cannot find libc,大概率是你用了 musl 架构包(如 x86_64-linux-musl)但系统是 glibc,得换回对应 glibc 的包(官网默认提供的是 glibc 版本,musl 版需手动选)。
别急着编译源码,除非你明确需要开发版
从 GitHub 克隆源码 + cmake + ninja 编译,听起来很“极客”,但实际容易踩坑:
-
llvm、clang、lld开发库版本必须严格匹配(比如都是 18.x),差一个点就可能cmake失败 -
cmake .. -DCMAKE_BUILD_TYPE=Debug生成的 debug 版本启动慢、体积大,日常开发没必要 - master 分支 API 变动频繁,
@import("std")里某些函数名可能下个 commit 就改了
除非你要给 Zig 提 PR 或调试编译器本身,否则直接用预编译包省心又省时间。
真正的麻烦往往不在“怎么装”,而在于装完之后命令找不到、交叉编译目标链缺失、或者编辑器插件连不上zig 进程——这些都依赖于 PATH 和可执行文件路径的一致性,不是一次配置就能一劳永逸。



















