日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

php小編小新解答為什么在使用”go get -u”命令時會下載同一個包的兩個版本。這個問題的原因在于go mod的工作原理。go mod是Go語言在1.11版本引入的依賴管理工具,它會根據(jù)項(xiàng)目的go.mod文件自動下載和管理依賴包。當(dāng)我們使用”go get -u”命令時,它會檢查go.mod文件中的依賴包版本,并嘗試下載最新的版本。然而,有些包的版本更新可能會依賴于其他包的不同版本,因此go mod會下載兩個版本的包以滿足依賴關(guān)系,這就是為什么會下載同一個包的兩個版本的原因。

問題內(nèi)容

我使用 go get -u 來獲取依賴于 golang.org/x/[email?protected] 的軟件包。我注意到它首先下載 golang.org/x/[email?protected] 然后下載 golang.org/x/[email?protected]

然后我運(yùn)行 go clean -modcachego get golang.org/x/text ,它下載了 golang.org/x/textv0.4.0 ,然后再次 go get -u entgo.io/ent 。這次 go 沒有下載 golang.org/x/[email?protected]

那么,為什么 go get -u 在本地沒有最新版本時同時下載舊版本和最新版本,以及為什么在本地有最新版本時它不下載舊版本?

解決方法

因?yàn)檫@是一個兩步過程

    獲取依賴項(xiàng)
    更新依賴項(xiàng)

從編程的角度來看,沒有充分的理由將這些合并到“獲取最新依賴項(xiàng)”的單一關(guān)注點(diǎn)中。

來自 go 命令文檔:

-u 標(biāo)志指示 get 更新提供命令行上命名的包的依賴項(xiàng)的模塊,以便在可用時使用較新的次要版本或補(bǔ)丁版本。

這意味著 -u 專門處理您所獲取的包所依賴的模塊,而不是您所獲取的包的模塊。

此外,似乎 -u 與將 v0 版本中的任何更改視為主要版本更改的 Go 慣用法無關(guān),因此不能出于原則輕易推薦使用 -u 。 golang.org/x/test 的自述文件甚至說:

在 x/text 版本達(dá)到 1.0.0 之前,次要版本被視為主要版本。因此從 0.1.0 到 0.2.0 被認(rèn)為是一個主要版本的提升。

分享到:
標(biāo)簽:Go語言
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定