跳到內容
Syno Package Land
語言: 繁體中文

快速開始

本頁帶你從空資料夾走到已安裝的套件。只有最後兩個步驟需要 NAS。

需求用途
Node.js 22.12 或以上,與 npm安裝 CLI。建置 Vue 介面。
Go 1.25 或更新版本建置 native-go 的後端與 binary 的範例 CGI。沒有 Go 時,build 會以 STANDALONE_GO_MISSING 失敗。
NAS 上的 DSM 管理員帳號deploy、status 與 logs。建立、檢查、建置與 inspect 不需要。
Terminal window
npm install -g @synopackageland/cli
synopkgland init -t native-go --with files,jobs,login --package MyApp my-app
cd my-app

init 會建立 dsm-package.yaml、backend/ 內的 Go 後端、frontend/ 內的 Vue 介面、i18n/ 內九種語言的介面文字,以及給 AI 助理使用的 AGENTS.md 與 CLAUDE.md。它不會覆寫任何檔案:若檔案已存在,會以 INIT_TARGET_NOT_EMPTY 停止。backend/go.mod 會要求 SDK Go module github.com/synopackageland/syno-pkg-land-sdk,frontend/package.json 則要求同版本的 npm 套件 @synopackageland/sdk。請見原始碼 repository。

此範例啟用 files、jobs 與 login。若不需要額外能力,省略 --with 即可。請見能力。

build 不會安裝任何東西。請先安裝一次 Vue 介面的相依套件:

Terminal window
(cd frontend && npm install)

沒有安裝時,build 會以 STANDALONE_UI_BUILD_FAILED 失敗,並提示你安裝介面相依套件。以 --ui plain 建立的專案沒有 frontend/ 資料夾,可略過此步驟。

Terminal window
synopkgland check
synopkgland build --arch x86_64
synopkgland inspect dist/MyApp-0.1.0-0001-x86_64.spk
指令作用
check驗證 manifest、能力組合與路由策略。失敗時回報錯誤碼與提示。
build建置介面與後端,並在 dist/ 為每個架構寫出一個 SPK。省略 --arch 時,會建置 arches 內的所有架構。
inspect不安裝,直接讀取 SPK。先檢查 DSM 7 套件格式,再輸出套件名稱、版本、架構、是否已簽章,以及能力與解除安裝後清理的說明。

任何指令都可加上 --json,輸出單一 JSON 物件。

deploy 會建置一個 SPK,並安裝到你用 --host 指定的 NAS。

Terminal window
synopkgland deploy --dry-run --arch x86_64
synopkgland deploy --host my-nas

--dry-run 只輸出計畫,不連接 NAS。--host 可接 synoagentcli profile 名稱、主機名稱或 URL。省略 --arch 時,deploy 會從 NAS 讀取 CPU。憑證、架構與版本請見交付。

若不想用 CLI 安裝,可把 SPK 複製到你的電腦,改用套件中心 > 手動安裝。SPK 未簽章,安裝前 DSM 可能會顯示警告。

Terminal window
synopkgland status --host my-nas

status 會顯示套件是否已安裝、DSM 狀態、開啟 App 的位址(Open URL),以及每項已宣告能力的狀態。

狀態意義
ready已安裝且可用。套件安裝後,files、jobs 與 login 即為 ready。
needs-admin-approval已宣告 delegate 或 root-ops,但 DSM 管理員尚未核准。請見能力。
blocked套件尚未安裝。對 delegate 與 root-ops 而言,也表示 status 無法驗證核准狀態。它需要 dist/ 內已安裝版本的 SPK,請先在同一個專案建置該版本。
unsupported此環境無法執行該能力。

開啟 Open URL,或從 DSM 主選單開啟 App。