前言
實話實說, github 作為這個球上頂級的代碼托管平台, 公司/企業/開發者的認可和參與度是非常高的.
但是因為某些原因 特色牆, 國內使用 github 的體驗不是非常好
- 速度慢
- 不靠譜同學的貿易政策
- 英文不是非常友好
比如我就是英文渣渣 - ...
而 go 的模塊系統高度使用了 github, 以及很多非常有用的包也托管在 github,
隨之而來的問題是, 國內, 使用 github 有的問題, 使用 go 模塊系統全部一起中招了.
為此, 我們來試試如何把自己的 go 模塊托管在 gitee 來更方便的使用.
相比之下使用 gitee 的優勢:
- 速度快的多
網速就是生命 - 不怕不靠譜同學
- 母語貼心
- 可能模塊少點
這是劣勢, 需要你我他的努力 - ...
創建你的 go 模塊
按照我的習慣, 我在我的電腦目錄 E:\goprojects\src\gitee.com\taadis
目錄下新建了一個 uuid
模塊項目
└─uuid
.gitignore
doc.go
go.mod # 模塊配置文件, 主要的就是這個
go.sum # 模塊依賴計算, 通常請 git 忽略掉
README.md
uuid.go
uuid_test.go
我們來看看 go.mod
文件
module gitee.com/taadis/uuid
模塊聲明以 "路徑/用戶/模塊" 這樣的形式聲明
就這么簡單, 模塊聲明完成后, 本地測試通過, 然后 git push
到 gitee
發布你的 go 模塊
一個模塊隨着時間和業務累積會有越來越多的版本, 那么怎么發布 go 的模塊以及迭代版本呢
首先在 gitee 創建一個新倉庫
同步本地倉庫到遠程倉庫
需要發布版本的時候, 通過標簽來實現
直接 git tag v0.0.1
, 然后 git push origin v0.0.1
更多的版本號累積即可
直接 git tag v0.0.2
, 然后 git push origin v0.0.2
使用你的 go 模塊
來個簡單的例子, 新建一個叫做 uuidtest
的項目, go get gitee.com/taadis/uuid v0.0.1
下載指定版本, 不指定版本號時會下載默認下載最新版本, 並記錄到 go.mod
文件中
module uuidtest
require gitee.com/taadis/uuid v0.0.1
然后就可以歡樂的使用了
// main.go
package main
import (
"fmt"
"gitee.com/taadis/uuid"
)
func main() {
id := uuid.New()
fmt.Println(id)
}
GoDoc
GoDoc 是 go 提供的一個在線文檔服務, 不需要你做任何多余的事情
直接在瀏覽器訪問 https://godoc.org/模塊名稱
比如 https://godoc.org/gitee.com/taadis/uuid
即可看到你的 go 模塊相關的源碼中的文檔