Zig 使用一個 build.zig.zon
來管理專案,其中也包含使用第三方依賴套件,這個有點類似 JavaScript 的 package.json
。
Zig 不像 Rust 有 crates.io 或 Python 有 PyPI 這樣有官方的集中式套件儲存平台,而是直接從各個套件的 GitHub 下載。
build.zig.zon
使用 zig init
建立的預設專案中會有一個 build.zig.zon
檔案,用來管理你的專案。
它看起來應該會像這樣(省略註解)。
.dependencies
就是設定套件的地方,它使用這樣的格式來管理套件:
增加套件
現在 .dependencies
的部分是空的。讓我們來新增一個套件,這裡用 zul 為例。這裡有兩種方式。
方法1-使用指令增加
使用 zig fetch --save <URL>
指令自動新增:
方法2-手動增加
首先要加入 .url
,其值為 https://github.com/karlseguin/zul/archive/<TAG>.tar.gz
,其中的 <TAG>
要改成目標的版本,可以是 branch、tag、commit hash,這裡使用 master
branch:
但現在還缺少 .hash
,如果套件的作者沒有提供的話,我們可以讓 Zig 幫我們算,現在先執行一次 zig build
:
它會說遺失 .hash
,並幫我們計算出正確的 hash。讓我們將這行補上:
調整 build.zig
接著要修改 build.zig
。我們在最後增加一段:
這樣你就可以使用 @import("zul")
了。
使用並建置
寫個簡單的範例:
參考
本文以 Zig 0.13.0
為主。並同時發佈在:
留言可能不會立即顯示。若過了幾天仍未出現,請 Email 聯繫:)