go: cannot use path@version syntax in GOPATH mode問題解決

go: cannot use path@version syntax in GOPATH mode問題解決

go mod作爲官方的依賴管理工具,類似於maven這種本地緩存庫的管理方式,其主要是通過GOPATH/pkg/mod下的緩存包來對工程進行構建。

問題:

執行go get github.com/golang/protobuf/[email protected]時報錯

go get github.com/golang/protobuf/protoc-gen-go@v1.3.2
go: cannot use path@version syntax in GOPATH mode

解決:需要開啓 GO111MODULE,默認是 auto,

打開.zshrc,(注意:查看下自己當前用的是哪個shell,是bash的話需要.bash_profile中編輯)
添加 export GO111MODULE=on 即可。修改完記得source

export GO111MODULE=on

source

source ~/.zshrc

原因:

go mod 可以通過GO111MODULE來控制是否啓用,GO111MODULE有一下三種類型。

  • on 所有的構建,都使用Module機制
  • off 所有的構建,都不使用Module機制,而是使用GOPATH和Vendor
  • auto 在GOPATH下的工程,不使用Module機制,不在GOPATH下的工程使用

參考:https://github.com/kubernetes/client-go/blob/master/INSTALL.md#enabling-go-modules
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章