發布模組
當您要讓其他開發人員使用模組時,請發布模組,讓 Go 工具可以看到它。發布模組後,匯入其套件的開發人員就能透過執行 go get
等指令來解決模組的相依性。
注意:發佈模組標記版本後,請勿變更。對於使用模組的開發人員,Go 工具會根據首次下載的副本驗證已下載的模組。如果兩者不同,Go 工具會傳回安全性錯誤。請勿變更先前發佈版本的程式碼,請發佈新版本。
另請參閱
- 如需模組開發概觀,請參閱 開發和發佈模組
- 如需包含發佈的高階模組開發工作流程,請參閱 模組發佈和版本控制工作流程。
發佈步驟
使用下列步驟發佈模組。
-
開啟命令提示字元,並變更至本機儲存庫中模組的根目錄。
-
執行
go mod tidy
,移除模組可能累積但不再必要的任何相依性。$ go mod tidy
-
最後執行
go test ./...
一次,以確保一切正常運作。這會執行您已撰寫的單元測試,以使用 Go 測試架構。
$ go test ./... ok example.com/mymodule 0.015s
-
使用
git tag
指令,標記專案的新版本號碼。對於版本號碼,請使用一個號碼,向使用者傳達此版本變更的性質。如需更多資訊,請參閱 模組版本編號。
$ git commit -m "mymodule: changes for v0.1.0" $ git tag v0.1.0
-
將新標記推送到原始儲存庫。
$ git push origin v0.1.0
-
執行
go list
指令,讓模組可用,提示 Go 使用您正在發佈的模組資訊更新其模組索引。在指令前加上一個陳述式,將
GOPROXY
環境變數設定為 Go 代理程式。這將確保您的要求會傳送到代理程式。$ GOPROXY=proxy.golang.org go list -m example.com/mymodule@v0.1.0
有興趣使用您的模組的開發人員會從中匯入套件,並執行 go get
指令,就像使用任何其他模組一樣。他們可以執行 go get
指令,以取得最新版本,或指定特定版本,如下列範例所示
$ go get example.com/mymodule@v0.1.0