build.zig.zon и менеджер пакетов
Объявляйте зависимости в манифесте.
«build.zig.zon и менеджер пакетов» — бесплатный урок Zig Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
A Manifest for Your Package
Beside build.zig sits build.zig.zon, the manifest that names your package and lists what it depends on. 📜
ZON Is Zig Object Notation
The file is written in ZON, which looks just like a Zig anonymous struct literal. Dotted field names map to plain Zig values.
.{
.name = .myapp,
.version = "0.1.0",
}Name and Version
Two required fields stand out: name identifies the package and version follows semantic versioning like 1.2.0.
.name = .myapp,
.version = "0.1.0",List Your Dependencies
The dependencies field is a struct of entries, one per external package you want to pull into your build.
.dependencies = .{
.mylib = .{},
},A URL Points to the Source
Each dependency gives a url to a tarball, usually a tagged archive on a code host. Zig fetches and unpacks it for you.
.url = "https://example.com/mylib-1.0.0.tar.gz",The hash Locks It Down
A hash field pins the exact bytes of that download. If the content ever changes, the hash mismatches and the build refuses it.
.hash = "122012ab...",Let zig fetch Fill It In
You rarely type a hash by hand. Run zig fetch with the url and it downloads, computes the hash, and writes the entry for you.
zig fetch --save https://example.com/mylib-1.0.0.tar.gzThe Global Cache
Fetched packages land in a shared cache on your machine. Many projects reuse one copy, so the same dependency is not stored twice.
paths Declares What Ships
The paths field lists the files included when your package is itself a dependency. Use .{""} to ship everything in the folder.
.paths = .{ "build.zig", "src" },Commit the Manifest
Because it carries exact hashes, build.zig.zon makes builds reproducible. Commit it so every teammate fetches the identical code.
build.zig Reads It
The manifest pairs with build.zig, which turns each declared dependency into a usable module. The .zon describes, the build script wires.
const dep = b.dependency("mylib", .{});Quick Check
Recall what guarantees a dependency download has not been tampered with.
Recap
You met build.zig.zon: a ZON manifest with name, version, and dependencies, where each dep carries a url and a hash that zig fetch can fill in. 🎯
Часто задаваемые вопросы
Урок «build.zig.zon и менеджер пакетов» бесплатный?
Да — полный текст урока «build.zig.zon и менеджер пакетов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.
Чему я научусь в уроке «build.zig.zon и менеджер пакетов»?
Объявляйте зависимости в манифесте. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Zig Academy?
Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «build.zig.zon и менеджер пакетов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Zig Academy?
Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Импорт файлов с помощью @import
- Структура проекта из нескольких файлов
- build.zig.zon и менеджер пакетов
- Добавление стороннего модуля