中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行管理工具go modules的使用

發布時間:2022-01-06 16:34:50 來源:億速云 閱讀:135 作者:柒染 欄目:云計算

本篇文章為大家展示了如何進行管理工具go modules的使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

背景

由于之前寫k8s operator在引入go的包的時候,涉及到go的包管理工具,因為自己寫java已經很多年,maven的包管理工具很是好用,便想到golang是否也有類似的工具, goer都知道go的包引入帶上github.com類似的前綴,就會自動從go的第三方檢索服務pkg.go.dev下載對應的文件,而該檢索服務會定期從github更新最新的代碼。

go mod 是golang 1.11版本引入的。相對于之前要么是沒有包管理,要么是管理工具不好用

使用

  1. 查看golang的版本,確保在1.11及以上版本 go version go version go1.15.2 darwin/amd64

  2. 設置GO111MODULE為on GO111MODULE 有三個值 : off,on,auto(默認)

  • off 關閉go mod的功能,查找包沿用一起的GOPATH模式或者通過vendor目錄方式

  • on 開啟go mod功能,不會去查找GOPATH目錄

  • auto,分情況,

    1. 當前目錄在GOPATH/src之外且該目錄包含go.mod文件,會開啟go mod功能

    2. 當前文件在包含go.mod文件的目錄下面

  1. 初始化項目 直接在當前項目下執行go mod init,則會在當前項目下建立go.mod文件 如果該項目在GOPATH目錄下,且沒設置GO111MODULE為on,則會報錯:

go: modules disabled inside GOPATH/src by GO111MODULE=auto; see 'go help modules'

再執行go build 則會把項目依賴的文件自動添加到go.mod中且會生成go.sum文件,
如果有存在包依賴沖問題,直接修改按照提示修改go.mod文件對應的版本就可以。 如:

../../../../pkg/mod/k8s.io/client-go@v11.0.0+incompatible/kubernetes/scheme/register.go:26:2: module k8s.io/api@latest found (v0.19.4), but does not contain package k8s.io/api/auditregistration/v1alpha1
go.mod  
module github.com/monkeyboy123/custom-controller

go 1.15

require (
	github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
	github.com/imdario/mergo v0.3.11 // indirect
	golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e // indirect
	k8s.io/api v0.19.4 // indirect
	k8s.io/apimachinery v0.19.4
	k8s.io/client-go v11.0.0+incompatible
	k8s.io/klog v1.0.0 // indirect
	k8s.io/utils v0.0.0-20201110183641-67b214c5f920 // indirect
)

直接修改k8s.io/client-go v11.0.0+incompatible為k8s.io/client-go v0.19.4 即可

關于使用go mod管理的話,依賴包的下載會下到$GOPATH/pkg/mod目錄下,而不再是$GOPATH/src目錄下

上述內容就是如何進行管理工具go modules的使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎平县| 象州县| 海宁市| 湄潭县| 大姚县| 五华县| 运城市| 堆龙德庆县| 黄大仙区| 叙永县| 泗洪县| 西吉县| 胶南市| 承德县| 什邡市| 扶风县| 辽阳市| 齐河县| 晋宁县| 中西区| 万全县| 漾濞| 澎湖县| 辽中县| 朔州市| 台北县| 江油市| 双牌县| 扎赉特旗| 潞城市| 凤翔县| 商丘市| 寿宁县| 武乡县| 甘孜县| 广饶县| 巴楚县| 九寨沟县| 于都县| 广宗县| 商水县|