Day 2: 设置Zig开发环境
欢迎来到第二天!一个配置良好、运行顺畅的开发环境是高效学习和编程的基石。今天,我们将一步步完成Zig的安装和环境配置。Zig的工具链非常优秀,它不仅是编译器,还集成了构建系统、格式化工具和包管理器,并且原生支持跨平台编译,无需复杂的配置。
2. 下载与安装
Section titled “2. 下载与安装”首先,我们需要从官方网站获取Zig的最新版本。
-
访问官网:打开浏览器,访问 ziglang.org/download/。
-
选择版本:找到 Version 0.15.1。根据你的操作系统(Windows, macOS, Linux)和CPU架构(x86_64, AArch64),下载对应的压缩包。
-
校验文件 (可选但推荐):为了确保下载的文件没有被篡改,你可以校验其SHA256哈希值。在下载页面,每个文件旁边都有一个对应的
.minisig文件和SHA256校验和。在终端中运行以下命令(以Linux为例):Terminal window # 计算下载文件的SHA256哈希sha256sum zig-linux-x86_64-0.15.1.tar.xz# 将输出结果与官网提供的值进行比对 -
解压文件:将下载的压缩包解压到一个你喜欢的目录。例如,在Linux或macOS上,你可以解压到
/usr/local/或用户主目录下的dev/文件夹;在Windows上,可以解压到C:\dev\zig。Terminal window # Linux / macOSmkdir -p ~/devtar -xf zig-linux-x86_64-0.15.1.tar.xz -C ~/dev# 将文件夹重命名以便管理mv ~/dev/zig-linux-x86_64-0.15.1 ~/dev/zig-0.15.1
3. 编辑器配置
Section titled “3. 编辑器配置”一个好的代码编辑器能极大提升你的编程效率。以下是针对主流编辑器的配置建议:
-
Visual Studio Code (VS Code):这是目前对Zig支持最好的编辑器之一。
- 安装 Zig Language 插件。它提供了语法高亮、代码补全、错误提示等功能。
- 插件会自动查找
zls(Zig Language Server),如果找不到,你需要在VS Code的设置中手动指定zls的路径。
-
Vim / Neovim:
- 使用插件管理器(如
vim-plug或packer.nvim)安装zig.vim以获得语法高亮。 - 通过
coc.nvim或内置的LSP客户端,配置zls以实现智能提示和代码导航。
- 使用插件管理器(如
4. 辅助工具
Section titled “4. 辅助工具”Zig工具链自带了几个非常有用的命令:
zig fmt <file.zig>:自动格式化你的代码,使其符合官方推荐的风格。保持代码风格一致性是良好协作的基础。zig build:运行项目根目录下的build.zig文件,执行构建任务。这是Zig强大的声明式构建系统的入口。zls:Zig Language Server,为编辑器提供智能支持。它通常位于解压后的Zig目录中。
5. 环境变量配置
Section titled “5. 环境变量配置”为了能在任何终端窗口中直接使用 zig 命令,你需要将Zig的安装路径添加到系统的 PATH 环境变量中。
-
Linux / macOS: 编辑你的shell配置文件(如
~/.bashrc,~/.zshrc),在文件末尾添加:Terminal window # 将路径替换为你的实际解压路径export ZIG_HOME="$HOME/dev/zig-0.15.1"export PATH="$ZIG_HOME:$PATH"保存后,运行
source ~/.bashrc或source ~/.zshrc使其生效。 -
Windows:
- 在搜索栏中输入“环境变量”,选择“编辑系统环境变量”。
- 在“系统属性”窗口中,点击“环境变量”按钮。
- 在“系统变量”部分,找到并选中
Path,然后点击“编辑”。 - 点击“新建”,然后输入你的Zig解压路径(例如
C:\dev\zig-0.15.1)。 - 一路点击“确定”保存。
为了验证配置是否成功,打开一个新的终端窗口,输入 zig version,如果能看到 0.15.1,说明配置成功!
6. 示例:编译并运行 hello.zig
Section titled “6. 示例:编译并运行 hello.zig”现在,让我们用配置好的环境来编译和运行昨天的 “Hello, World!” 程序。
- 创建一个名为
hello.zig的文件,内容如下:const std = @import("std");pub fn main() !void {std.debug.print("Hello from Zig!\n", .{});} - 在终端中,使用
zig run命令来编译并立即执行它:你应该会在屏幕上看到Terminal window zig run hello.zigHello from Zig!的输出。zig run会在后台进行编译,并将生成的可执行文件缓存在zig-cache目录中,如果源文件未改变,下次运行会非常快。
7. 实践练习
Section titled “7. 实践练习”挑战一下自己,尝试Zig强大的交叉编译功能!
如果你当前使用的是x86_64架构的电脑(大部分台式机和笔记本都是),尝试将 hello.zig 编译成ARM架构(如树莓派或苹果M系列芯片)的可执行文件。
# 编译为AArch64架构的Linux可执行文件zig build-exe hello.zig -target aarch64-linux
# 编译为AArch64架构的macOS可执行文件zig build-exe hello.zig -target aarch64-macos你不需要安装任何额外的工具链,Zig原生支持!zig targets 命令可以查看所有支持的目标平台。
8. 常见问题
Section titled “8. 常见问题”问:我在Windows上使用WSL (Windows Subsystem for Linux),应该安装哪个版本?
答:如果你主要在WSL环境内进行开发,建议下载并安装Linux版本的Zig。这样可以更好地与Linux生态系统集成。如果你希望在Windows原生环境和WSL之间切换,可以两者都安装,并在各自的环境中配置好 PATH。
问:在macOS上,Homebrew可以安装Zig吗?
答:可以,brew install zig 是一个便捷的安装方式。但请注意,Homebrew的版本可能会稍有延迟。对于本教程,我们推荐使用从官网下载的指定版本,以确保所有示例都能正常工作。
今天,你成功搭建了Zig开发环境,并体验了其强大的工具链,包括格式化、编译、运行和交叉编译。一个好的开端是成功的一半。从明天开始,我们将正式进入Zig的语法世界,探索它的基本数据类型和变量。