安裝
從 Spine v0.6.0 開始,官方進入點是 CLI 的 new。安裝最新發布的 CLI,建立專案並檢查開發伺服器的回應。
需求
- 需要 Go 1.25.5 以上版本。CLI 建議使用 Go 1.27.3。
- Go 執行檔的安裝路徑必須包含在
PATH中。若未設定GOBIN,預設路徑為$(go env GOPATH)/bin。
go version確認輸出的 Go 版本為 1.25.5 以上。
安裝 CLI
執行下列指令安裝 CLI 並確認版本。
go install github.com/NARUBROWN/spine-cli@latest
spine-cli version使用 spine-cli version 確認已安裝的 CLI 版本。
若找不到 spine-cli 指令,且未另外設定 GOBIN,請在 Bash 或 Zsh 執行下列指令,將路徑加入目前的工作階段。若要持續使用,請將相同設定存入 shell 啟動檔。若已設定 GOBIN,請改為加入該目錄。
export PATH="$(go env GOPATH)/bin:$PATH"
spine-cli version建立新專案
在預計放置專案的上層目錄執行。若已有同名的 my-app 目錄,請使用其他名稱。
spine-cli new my-app --module example.com/my-app
cd my-appnew 依照已安裝 CLI 的驗證配方選擇相容的 Spine、Echo 平台與 Echo 版本,並完成相依套件安裝、靜態契約檢查與建置。請在產生的 go.mod 中查看選取的版本。使用 --skip-install 時,請另外執行 go mod tidy 與 go mod download all。安裝過程不會初始化應用程式、執行測試或啟動監聽器。
產生的 spine.toml 如下。
module = "example.com/my-app"
entrypoint = "."
composition = "./internal/application"
port = 8080
layout = "layered-v1"
platform = "echo"internal/application/application.go 中的 BuildApplication() 會註冊元件與 GET /health。產生的 main.go 會呼叫此函式,透過 app.Validate(options) 驗證設定後,再以 app.Run(options) 啟動伺服器。
驗證與執行
spine-cli doctor
spine-cli inspect
spine-cli contract check
spine-cli verify確認每個指令都執行完畢,且未發生錯誤。
| 指令 | 檢查內容 |
|---|---|
spine-cli doctor | Go 工具與專案設定 |
spine-cli inspect | 程式碼中註冊的路由、相依性等應用程式設定 |
spine-cli contract check | 從註冊程式碼擷取的執行契約是否有效 |
spine-cli verify | 執行契約,以及 gofmt、go vet 與 Go 測試結果 |
產生的 application_test.go 會在不啟動伺服器的情況下,檢查 BuildApplication() 與 app.Validate(options)。此步驟驗證的是程式碼與應用程式設定,實際 HTTP 回應則在下一步確認。
通過檢查後,執行 spine-cli dev,並在另一個終端機確認實際的 HTTP 回應。
spine-cli devcurl http://localhost:8080/health若回傳 {"status":"ok"},表示開發伺服器已處理請求。在執行伺服器的終端機按下 Ctrl+C 即可結束。連接外部資料庫、訊息代理程式,或完成部署後,也必須在對應環境確認運作情況。
