最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

執(zhí)行g(shù)o?vendor第三方包版本沖突問題解決

 更新時(shí)間:2022年07月15日 14:44:04   作者:Airy  
這篇文章主要為大家介紹了執(zhí)行g(shù)o?vendor時(shí),第三方包go版本沖突問題的解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

問題癥狀

我們使用 jenkins 腳本執(zhí)行 go build ,用來構(gòu)建線上服務(wù)器使用的二進(jìn)制文件。構(gòu)建過程中有這樣一個(gè)步驟:

go mod vendor

該步驟將以 go.mod 文件中寫明的包和版本為準(zhǔn)下載第三方依賴并保存到本地的 vendor 目錄。下載過程中將校驗(yàn) go.sum 中的 hash 值是否同文件 hash 一致。

在實(shí)際執(zhí)行中,遇到這樣的錯(cuò)誤:

internal error: failed to find embedded files of github.com/marten-seemann/qtls-go1-18: //go:build comment without // +build comment

排查經(jīng)過

通過 qtls-go1-18 的倉庫名可以觀察到問題可能跟 go 1.18 的版本有關(guān)。

打開依賴的 github 倉庫可見簡介:

Go standard library TLS 1.3 implementation, modified for QUIC. For Go 1.18.

而我們構(gòu)建的環(huán)境 go env 輸出的版本為 1.16

在 go 1.18 的 release notes 中查找相關(guān)信息:

//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.

報(bào)錯(cuò)的意思是 //go:build (1.18 版本支持) 必須同 // +build 一起出現(xiàn)。至此確認(rèn)問題原因。

解決辦法

業(yè)務(wù)代碼并沒有直接用到 qtls 包,且并沒有直接依賴 qtls-go1-18 對(duì)應(yīng)的 go 版本。此庫為非直接依賴引入的,需要找出是那個(gè)包引入了這個(gè)依賴。

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 可以看到具體那個(gè)包的那個(gè)版本引入的

最終確認(rèn)是 quic-go 的 0.27 引入的。

在 go.mod 中排除掉 quic-go 0.27 即可。在 go.mod 中加一行。

exclude lucas-clemente/quic-go v0.27.0

總結(jié)和其他

  • 為什么 go mod vendor 會(huì)更新版本,理論上只會(huì)使用 go.mod 中制定的版本;
  • build 機(jī)器不需要 go mod vendor ,直接 go mod download 即可;
  • go mod vendor 同 go mod download 在依賴管理上有什么不同?

以上就是執(zhí)行g(shù)o vendor第三方包版本沖突問題解決的詳細(xì)內(nèi)容,更多關(guān)于go vendor版本沖突的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Golang 錯(cuò)誤捕獲Panic與Recover的使用

    Golang 錯(cuò)誤捕獲Panic與Recover的使用

    對(duì)于Go語言的錯(cuò)誤是通過返回值的方式,本文主要介紹了Golang 錯(cuò)誤捕獲Panic與Recover的使用,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • golang基于websocket實(shí)現(xiàn)的簡易聊天室程序

    golang基于websocket實(shí)現(xiàn)的簡易聊天室程序

    這篇文章主要介紹了golang基于websocket實(shí)現(xiàn)的簡易聊天室,分析了websocket的下載、安裝及使用實(shí)現(xiàn)聊天室功能的相關(guān)技巧,需要的朋友可以參考下
    2016-07-07
  • 基于原生Go語言開發(fā)一個(gè)博客系統(tǒng)

    基于原生Go語言開發(fā)一個(gè)博客系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了如何基于原生Go語言開發(fā)一個(gè)簡單的博客系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • 解決golang gin框架跨域及注解的問題

    解決golang gin框架跨域及注解的問題

    這篇文章主要介紹了解決golang gin框架跨域及注解的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 更換GORM默認(rèn)SQLite驅(qū)動(dòng)出現(xiàn)的問題解決分析

    更換GORM默認(rèn)SQLite驅(qū)動(dòng)出現(xiàn)的問題解決分析

    這篇文章主要為大家介紹了更換GORM默認(rèn)SQLite驅(qū)動(dòng)出現(xiàn)的問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Golang Copier入門到入坑探究

    Golang Copier入門到入坑探究

    這篇文章主要為大家介紹了Golang Copier入門到入坑探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • golang 打印error的堆棧信息操作

    golang 打印error的堆棧信息操作

    這篇文章主要介紹了golang 打印error的堆棧信息操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Go reflect 反射原理示例詳解

    Go reflect 反射原理示例詳解

    這篇文章主要為大家介紹了Go reflect 反射原理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Go語言做爬蟲狀態(tài)碼返回418的問題解決

    Go語言做爬蟲狀態(tài)碼返回418的問題解決

    在使用Go語言做爬蟲時(shí),使用http.Get(url)去獲取網(wǎng)頁內(nèi)容,狀態(tài)碼返回404,本文我們就詳細(xì)的介紹一下解決方法,感興趣的可以了解一下
    2021-12-12
  • Go語言中的原子操作使用詳解

    Go語言中的原子操作使用詳解

    這篇文章主要介紹了Go語言中的原子操作使用詳解的相關(guān)資料,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

山阴县| 彭州市| 罗源县| 凤台县| 乌海市| 海原县| 邵武市| 于田县| 桦南县| 嘉鱼县| 淮安市| 昭通市| 湾仔区| 庆阳市| 马公市| 库伦旗| 武邑县| 东台市| 北宁市| 沾化县| 晴隆县| 新晃| 丘北县| 长乐市| 绥化市| 平凉市| 西和县| 灵山县| 黑河市| 饶河县| 河间市| 大方县| 铜陵市| 正定县| 吴旗县| 嘉祥县| 台安县| 郁南县| 旌德县| 禄劝| 小金县|