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
沒有留言:
張貼留言