<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
我們使用 jenkins 指令碼執行 go build ,用來構建線上伺服器使用的二進位制檔案。構建過程中有這樣一個步驟:
go mod vendor
該步驟將以 go.mod 檔案中寫明的包和版本為準下載第三方依賴並儲存到原生的 vendor 目錄。下載過程中將校驗 go.sum 中的 hash 值是否同檔案 hash 一致。
在實際執行中,遇到這樣的錯誤:
internal error: failed to find embedded files of github.com/marten-seemann/qtls-go1-18: //go:build comment without // +build comment
通過 qtls-go1-18 的倉庫名可以觀察到問題可能跟 go 1.18 的版本有關。
開啟依賴的 github 倉庫可見簡介:
Go standard library TLS 1.3 implementation, modified for QUIC. For Go 1.18.
而我們構建的環境 go env 輸出的版本為 1.16
在 go 1.18 的 release notes 中查詢相關資訊:
//go:build lines
Go 1.17 introduced //go:build lines as a more readable way to write build constraints, instead of // +build lines. As of Go 1.17, gofmt adds //go:build lines to match existing +build lines and keeps them in sync, while go vet diagnoses when they are out of sync.Since the release of Go 1.18 marks the end of support for Go 1.16, all supported versions of Go now understand //go:build lines. In Go 1.18, go fix now removes the now-obsolete // +build lines in modules declaring go 1.18 or later in their go.mod files.
報錯的意思是 //go:build
(1.18 版本支援) 必須同 // +build
一起出現。至此確認問題原因。
業務程式碼並沒有直接用到 qtls 包,且並沒有直接依賴 qtls-go1-18 對應的 go 版本。此庫為非直接依賴引入的,需要找出是那個包引入了這個依賴。
go mod why github.com/marten-seemann/qtls-go1-18
可以檢視是誰引入該依賴。從輸出可以看到:
# github.com/marten-seemann/qtls-go1-18 git.mycompany.com/group/projecta git.mycompany.com/group/projectb github.com/smallnest/rpcx/client github.com/lucas-clemente/quic-go github.com/marten-seemann/qtls-go1-18
通過 go mod graph
可以看到具體那個包的那個版本引入的
最終確認是 quic-go 的 0.27 引入的。
在 go.mod 中排除掉 quic-go 0.27 即可。在 go.mod 中加一行。
exclude lucas-clemente/quic-go v0.27.0
以上就是執行go vendor第三方包版本衝突問題解決的詳細內容,更多關於go vendor版本衝突的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45