釋出模組
當您想讓其他開發者使用您的模組時,您需要釋出它,使其對 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