這是因?yàn)楂@取golang.org/x/...時(shí)需要翻墻,而我這里沒有翻墻,不過沒關(guān)系
設(shè)置下代理即可:
// bash mac
export GOPROXY=https://goproxy.io
// powershell windows
$env:GOPROXY = https://goproxy.io
然后再當(dāng)前目錄下
用powershell 執(zhí)行命令:
相關(guān)命令:
go mod init:初始化modules
go mod download:下載modules到本地cache
go mod edit:編輯go.mod文件,選項(xiàng)有-json、-require和-exclude,可以使用幫助go help mod edit
go mod graph:以文本模式打印模塊需求圖
go mod tidy:檢查,刪除錯(cuò)誤或者不使用的modules,下載沒download的package
go mod vendor:生成vendor目錄
go mod verify:驗(yàn)證依賴是否正確
go mod why:查找依賴
go test 執(zhí)行一下,自動(dòng)導(dǎo)包
go list -m 主模塊的打印路徑
go list -m -f={{.Dir}} print主模塊的根目錄
go list -m all 查看當(dāng)前的依賴和版本信息
linux 編譯
GOOS=linux;GOARCH=amd64;CGO_ENABLED=0
-o 指定編譯的輸出文件目錄
補(bǔ)充:win10下go mod 與gopath
GOPATH跟GOROOT不同,它是我們指向的工作空間。我們運(yùn)行一個(gè)項(xiàng)目時(shí)需要導(dǎo)入依賴包,默認(rèn)情況下會(huì)在我們配置的go環(huán)境的src文件下去查找,比如本身自帶的“fmt”,“os”諸如此類等都在此包下
go對自己配置的包的引用有嚴(yán)格的限制,同個(gè)目錄的包是一樣的,一般包名都一目錄名命名,不同目錄間的包可以相互引用但前提是你這個(gè)項(xiàng)目需要放在GOPATH路徑下的src文件內(nèi)才可以相互引用 在其它的目錄下是引用不了的。
對于一些項(xiàng)目需要從github上面獲取依賴這樣的上面的方式效率可能不高,因?yàn)閲鴥?nèi)go get因?yàn)榫W(wǎng)絡(luò)問題可能下載get不到或者太慢,這時(shí)候就可以摒棄gopath轉(zhuǎn)而使用go mod了,不在需要在gopath下新建項(xiàng)目了,可以在任何你喜歡的目錄下新建,win10具體操作如下:
win +r打開cmd
go env -w GO111MODULE=on(默認(rèn)模式為auto,還有off模式 on模式是使用模塊,gopath不生效;off不適用模塊,gopath生效;自己寫的一些項(xiàng)目如果不需要從網(wǎng)上導(dǎo)入依賴的話可以切換成go env -w GO111MODULE=off模式,反正就是一條命令,不用再涉及其它的環(huán)境配置)
然后就可以在任意路徑新建項(xiàng)目了,這里比如我在D:\file\github\golang\code\chapter2\新建一個(gè)sample項(xiàng)目,然后再
D:\file\github\golang\code\chapter2\sample下新建一個(gè)main.go文件(這是項(xiàng)目的起點(diǎn))
然后在該目錄下打開cmd
我這里是因?yàn)橐呀?jīng)生成了所以提示exists build命令也可以指定單個(gè).go文件進(jìn)行編譯,但是如果是在main.go起點(diǎn)文件的目錄下build,它可以循著main.go中導(dǎo)入的依賴將項(xiàng)目中的其它.go文件一同build
會(huì)在該目錄下生成一個(gè)go.mod文件,現(xiàn)在試下你的項(xiàng)目能不能運(yùn)行
可以在cmd下執(zhí)行g(shù)o env這里面有很多參數(shù)可以查看
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- go自動(dòng)下載所有的依賴包go module使用詳解
- Golang 1.16 中 Modules的主要變化更新
- 使用Go module和GoLand初始化一個(gè)Go項(xiàng)目的方法
- goland使用go mod模式的步驟詳解
- xorm根據(jù)數(shù)據(jù)庫生成go model文件的操作
- Go外部依賴包從vendor,$GOPATH和$GOPATH/pkg/mod查找順序
- golang使用 gomodule 在公共測試環(huán)境管理go的依賴的實(shí)例詳解