ITADN
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

zigup

下载并管理 zig 编译器。

注意:我不再使用 zigup。我已改用 anyzig,并建议其他人也这样做(这里是原因)。对于非常喜爱它的人,Zigup 将继续获得支持!

如何安装

前往 https://marler8997.github.io/zigup 并选择你的操作系统/架构,以获取下载链接和/或通过命令行安装的说明。

否则,你可以手动查找并从 Releases 下载/解压相应的归档文件。它将包含一个名为 zigup 的单一静态二进制文件,除非你在 Windows 上,此时它是 zigup.exe

用法

# fetch a compiler and set it as the default
zigup <version>
zigup master
zigup 0.6.0

# fetch a compiler only (do not set it as default)
zigup fetch <version>
zigup fetch master

# print the default compiler version
zigup default

# set the default compiler
zigup default <version>

# list the installed compiler versions
zigup list

# clean compilers that are not the default, not master, and not marked to keep. when a version is specified, it will clean that version
zigup clean [<version>]

# mark a compiler to keep
zigup keep <version>

# run a specific version of the compiler
zigup run <version> <args>...

编译器是如何管理的

zigup 将每个编译器存储在全局“安装目录”下的一个版本化子目录中。运行 zigup get-install-dir 可查看此 PATH 在你的系统上是什么。你可以使用 zigup set-install-dir PATH 更改此默认值。

zigup 通过在 PATH 环境变量中出现的一个目录中创建条目,使 zig 程序可用。在 posix 系统上,此条目是指向安装目录中某个 zig 可执行文件的符号链接。在 windows 上,这是一个将调用转发到安装目录中某个 zig 可执行文件的可执行文件。

构建

运行 zig build 进行构建,运行 zig build test 进行测试和安装,使用:

# install to a bin directory with
cp zig-out/bin/zigup BIN_PATH

待办事项

  • 在当前环境中设置/移除编译器,而不覆盖系统范围的版本。

依赖项

在 linux 和 macos 上,zigup 依赖 tar 来解包编译器归档文件(这可能会在未来改变)。

为什么是 Anyzig?

Zigup 帮助你下载/切换在运行 zig 时调用的 zig 版本。相比之下,Anyzig 是一个通用的 zig 可执行文件,它根据当前项目调用正确版本的 zig。Anyzig 源于这样的认识:如果你已在系统范围内安装了 zig,那么它应该适用于任何 Zig 项目,而不仅仅是那些恰好与你当前安装/启用的版本匹配的项目。它不会让你手动切换版本,而是使用 build.zig.zon 中的 minimum_zig_version 字段。anyzig 的一个额外好处是,使用它的任何项目都能保证其 zig 版本既已记录又保持最新。在实践中,我还发现 anyzig 减轻了一些心理负担,因为你不再需要跟踪每个项目使用的 Zig 版本、系统使用的版本,以及保持两者同步。