arc deploy 部署和管理 blocklet,包括本地 daemon 註冊(給開發用)和 DID Space 釋出(給真正的分發用)。這和 arc blocklet deploy 不是一回事,後者是推到 Cloudflare Pages,arc deploy 管的是本地 daemon 和 DID Space。
arc deploy <path> [options]全域選項(見 總覽):--json、--view、--instance / -i(作用在哪個本地 ARC 例項;省略即 default),以及 --home(例項根;要指定作用在哪個例項,用 --instance)。
path:本地 blocklet 目錄路徑、git+https://…URL,或者https://…/archive.tar.gzURL——後兩種(遠端來源)還額外要求帶--publish,否則會直接報錯退出:Remote sources (git+url / http-url) require --publish.
選項
--publish:把 blocklet 程式碼釋出到本地開發者 DID Space,而不是註冊到本地 daemon(零網路/零鑑權);只有本地釋出的內容才能被arc deploy show/list --published看到--server <url>:釋出到遠端 DID Space 伺服器,而不是本地的,隱含--publish;總是需要鑑權(瀏覽器流程、快取的憑證,或者--token),即便目標是本地迴環地址--token <token>:--server用的 bearer token,不給的話走互動式瀏覽器授權。已宣告並強制生效:只給--token不給--server會直接報錯,不會靜默忽略這個 token——兩個一起傳就能過這道檢查,往下走真正的邏輯——這裡報錯只是因為這個路徑不存在,證明這道檢查是真的在辨別,不是逢輸入就拒:--browser:釋出到--server時為授權流程開啟瀏覽器(預設true);配合--token傳--no-browser可用於無人值守場景--prerender:釋出前先把網頁預渲染進.web-cache/,和arc blocklet build的ARC_PRERENDER是一回事;預設開啟,傳--no-prerender或者設ARC_PRERENDER=0關閉--dry-run:只列印部署計劃,不註冊、不釋出、不抓取
arc deploy <path> 單獨用時只註冊並服務這個 blocklet 給當前 daemon session——不會在重啟後存活。arc deploy 本身沒有 --persist 選項了;要讓一個 blocklet 來源在 arc service restart 之後還在,改成記錄到例項上:
arc service start --blocklet /path/to/my-blocklet # or: arc service restart --blocklet /path/to/my-blocklet示例(來自 arc deploy --help)
arc deploy /path/to/my-blocklet # register and serve a local blocklet (hot-adds if the instance is running)
arc deploy /path/to/my-blocklet --dry-run # preview a deploy without writing
arc service start --blocklet /path/to/my-blocklet # record the source on the instance so it survives restart
arc deploy /path/to/my-blocklet --publish # publish blocklet code to developer DID Space
arc deploy list # list the default instance's registered blocklet sources
arc deploy list -i alice # list only instance alice's registered sources
arc deploy list --home /path/to/instance # list sources of the instance registered at that home
arc deploy list --published # list blocklets published to DID Space
arc deploy show did:blocklet:z2x # read back files published to DID Space
arc deploy remove /path/to/my-blocklet # drop a source from the instance record; restart to applyarc deploy list
列出全部額外註冊的 blocklet 來源,或者已釋出到 DID Space 的 blocklet。
用法
arc deploy list [options]--published:列出已釋出到 DID Space 的 blocklet(blocklet-sources.json),而不是已註冊的來源
示例
$ arc deploy list
Registered blocklet sources (via instance default):
No extra blocklet sources registered.
Tip: arc service start --blocklet <path>arc deploy remove
從例項記錄裡去掉一個已註冊的額外 blocklet 來源(arc#6061);不是熱拔——要重啟才生效。
用法
arc deploy remove <target> [options]target(必填):要去掉的 blocklet 目錄,或者它的額外來源父目錄
示例(accept path:target 確實已註冊)
$ arc deploy remove /path/to/my-blocklet
Unregistered /path/to/my-blocklet from instance default.
Restart with `arc service restart` to apply.沒有任何東西可去掉是 reject path,exit 1:
$ arc deploy remove /path/to/my-blocklet
ERROR: Error: "/path/to/my-blocklet" is not a registered extra source on instance default.
Registered: (none)arc deploy show
讀取某個 blocklet 釋出到開發者 DID Space 的檔案。
用法
arc deploy show <did> [subpath] [options]did(必填):要檢視的 blocklet DID,或者裸 idsubpath:釋出目錄樹內的可選路徑