Go的環境變數GOPRIAVTE的作用如下。
GOPRIAVTE設定的module path將不會從module proxy server下載而是從版控庫取得,並且不做checksum檢查。
Go 1.13開始新增了GOPRIAVTE環境變數,用途為指定非公開的module path並做為GONOPROXY及GONOSUMDB環境變數的預設值。
執行Go module命令(例如go get、go mod tidy)時會從GOPROXY設定的module proxy server(預設為https://proxy.golang.org,direct)下載專案中依賴的module,並從GOSUMDB指定的校驗碼資料庫(checksum database)(預設為sum.golang.org)取得雜湊進行校驗。但有些非公開的module無法從module proxy取得,只能從版控庫(version control repository)如GitHub或GitLab獲取,這時可透過在GONOPROXY設定該非公開的module path告訴Go不要從module proxy取得而改從版控庫直接取得,並透過設定GONOSUMDB告知Go不要對指定的module path進行校驗。
若GOPRIAVTE要設定多個module paths,則用逗號分隔不同的module path。例如下面設定兩個module path分別為gitlab.abc.com/demo/libs及gitlab.abc.com/tools
GOPRIVATE=gitlab.abc.com/demo/libs,gitlab.abc.com/tools
沒有留言:
張貼留言