> https://github.com/bare-devcontainer/templates/tree/main/src/zig ### 选项 | 选项 ID | 描述 | 类型 | 默认值 | | :--- | :--- | :--- | :--- | | `imageVariant` | Zig 和 Debian 版本(trixie = Debian 13,bookworm = Debian 12)。也可以输入其他已发布的标签。 | string | 0.16-trixie | ### 入门指南 请参阅仓库 README 中的“入门指南”了解如何应用此模板。 ### 镜像变体 `imageVariant` 选项用于选择 `ghcr.io/bare-devcontainer/zig` 基础镜像的标签,该镜像将 Zig 版本与 Debian 版本进行配对:`trixie` 是 Debian 13,`bookworm` 是 Debian 12。 应用模板时提供的选项仅供参考,并非封闭列表——您可以输入任何已发布的标签,包括更精确的标签(例如 Zig 补丁版本或带有日期的构建版本,以便进行更严格的版本锁定)。请查看已发布的标签以了解当前可用版本。 ### 安全加固 此模板应用了 Bare Dev Container 模板的共享加固默认设置: * 基于 `ghcr.io/bare-devcontainer/zig` 构建。这是一个来自 `bare-devcontainer/images` 的精简镜像,具有锁定的摘要(pinned digests)、SLSA 来源证明以及用于供应链透明度的 SPDX SBOM。 * 以非 root 的 `dev` 用户身份运行。 * 剥离所有 Linux 权限(`--cap-drop=ALL`)并设置 `no-new-privileges` 安全选项,因此进程无法在容器内部获得提升的权限。如果您需要 `su`/`sudo`,请从 `securityOpt` 中移除 `no-new-privileges`。 * 启动一个初始化进程(`"init": true`)来回收僵尸进程。 应用模板后,我们建议将镜像锁定到特定的摘要(digest),以便每次重新构建都使用您期望的确切镜像——请参阅“将镜像锁定到摘要”。 ### 持久化缓存 Zig 的全局缓存持久化存储在命名卷中,因此重新构建容器以获取镜像更新时,无需重新下载软件包或重新编译依赖项: | 卷 (Volume) | 挂载路径 (Mount path) | 用途 | | :--- | :--- | :--- | | `${devcontainerId}-zig-global-cache` | `/home/dev/.cache/zig` | Zig 全局缓存 | ### 编辑器集成 * 安装了 `ziglang.vscode-zig` VS Code 扩展,预配置了镜像中自带的 `zig` 和 `zls` 二进制文件路径,并启用了 Zig 语言服务器 (zls)。 ### 提示 * 要使用调试器,请取消注释 `devcontainer.json` 中的 `"capAdd": ["SYS_PTRACE"]`。 * 如果您使用 VS Code,请取消注释 `devcontainer.json` 中的 `remoteEnv` 块,以便在 VS Code 标签页中打开 `$EDITOR` / `$VISUAL` / `$GIT_EDITOR`(例如 `git commit`)。 *注意:此文件是由 `devcontainer-template.json` 自动生成的。请将其他说明添加至 `NOTES.md` 中。* ## 加入我们 Zig 中文社区是一个开放的组织,我们致力于推广 Zig 在中文群体中的使用,有多种方式可以参与进来: 1. [供稿,分享](https://ziglang.cc/contributing "供稿,分享")自己使用 Zig 的心得 2. 改进 ZigCC 组织下的[开源项目](https://ask.ziglang.cc/github "开源项目") 3. 加入[微信群](https://ask.ziglang.cc/weixin "微信群")、[QQ 群](https://ziglang.cc/images/qq.webp)、[QQ 频道](https://ziglang.cc/images/qq-channel.webp)、[Telegram 群组](http://ask.ziglang.cc/telegram)、[Google Groups](https://groups.google.com/g/zigcc) 与更多 Zig 爱好者交流
Activity