Go语言GO111MODULE设置
GO111MODULE是 go modules 功能的開關(guān),關(guān)于go modules本文不詳述,這個涉及到go的一種很重要的管理機制,后面會有專門的文章來分析,我們可以簡單的理解為,在沒有g(shù)o modules機制時,go工程中對于第三方功能包的管理非常復(fù)雜,也非常專業(yè),這就導(dǎo)致程序員在進(jìn)行開發(fā)的時候,對于第三方功能包的管理很不方便,所以才有了go modules機制。這個機制的開關(guān)是通過GO111MODULE環(huán)境變量來配置的。
GO111MODULE=off
無模塊支持,go命令行將不會支持module功能,尋找依賴包的方式將會沿用舊版本那種通過vendor目錄或者GOPATH模式來查找。
GO111MODULE=on
模塊支持,go命令行會使用modules,而一點也不會去GOPATH目錄下查找。
GO111MODULE=auto
默認(rèn)值,go命令行將會根據(jù)當(dāng)前目錄來決定是否啟用module功能。這種情況下可以分為兩種情形:
-
當(dāng)前目錄在GOPATH/src之外且該目錄包含go.mod文件,開啟模塊支持。
-
當(dāng)前文件在包含go.mod文件的目錄下面。
在使用go modules時,GOPATH是無意義的,不過它還是會把下載的依賴存儲在$GOPATH/pkg/mod 中,也會把go install 的結(jié)果放在 $GOPATH/bin 中。
當(dāng)modules 功能啟用時,依賴包的存放位置變更為$GOPATH/pkg,允許同一個package多個版本并存,且多個項目可以共享緩存的module。
命令設(shè)置如下:
go env -w GO111MODULE=on go env -w GO111MODULE=off go env -w GO111MODULE=auto這個auto沒有效果, 此刻感覺還是java的maven用著方便,剛轉(zhuǎn)go這一點都很爽
總結(jié)
以上是生活随笔為你收集整理的Go语言GO111MODULE设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go基础:格式化输出--Printf、S
- 下一篇: Mac 每次都要执行source ~/.