校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > Golang 1.16 中 Modules的主要變化更新

Golang 1.16 中 Modules的主要變化更新

熱門(mén)標(biāo)簽:地圖標(biāo)注免費(fèi)定制店 上海極信防封電銷(xiāo)卡價(jià)格 重慶慶云企業(yè)400電話到哪申請(qǐng) 宿遷便宜外呼系統(tǒng)代理商 鄭州智能語(yǔ)音電銷(xiāo)機(jī)器人價(jià)格 湛江crm外呼系統(tǒng)排名 不封卡外呼系統(tǒng) 寧波語(yǔ)音外呼系統(tǒng)公司 仙桃400電話辦理

01介紹

Golang 1.16 已經(jīng)正式發(fā)布了,其中 Modules 有一些變化:

  • 默認(rèn)開(kāi)啟 Modules。
  • 不自動(dòng)修改 go.mod 和 go.sum。
  • 通過(guò)指定 @version 后綴安裝特定版本可執(zhí)行文件。
  • 新增 retract 指令撤回 Module 版本。
  • 使用新增配置變量 GOVCS 指定特定模塊使用特定版本控制工具。

golang 1.16 默認(rèn)開(kāi)啟 Modules,即使不存在go.mod,Go 命令現(xiàn)在默認(rèn)情況下也會(huì)在module-aware(模塊感知)模式下構(gòu)建包。

在 golang 1.16 中,通過(guò)設(shè)置關(guān)閉GO111MODULE環(huán)境變量,在GOPATH模式下構(gòu)建包仍然是可能的。您還可以將GO111MODULE設(shè)置為auto,以便在當(dāng)前目錄或任何父目錄中存在go.mod文件時(shí)啟用module-aware(模塊感知)模式。您還可以使用go env -w永久設(shè)置GO111MODULE和其他變量,:

goenv-wGO111MODULE=auto

Go 官方計(jì)劃在Go 1.17中放棄對(duì)GOPATH模式的支持。換句話說(shuō),Go 1.17將忽略GO111MODULE。如果您的項(xiàng)目不在module-aware(模塊感知)模式下構(gòu)建,則現(xiàn)在是時(shí)候遷移至module-aware(模塊感知)模式了。

03不自動(dòng)修改go.mod和go.sum

在 golang 1.16 之前版本中,當(dāng) go 命令發(fā)現(xiàn)go.modgo.sum存在問(wèn)題時(shí),如缺少require指令或缺少sum,它將嘗試自動(dòng)解決問(wèn)題。Go 官方收到很多反饋,這種行為是令人驚訝的,特別是對(duì)于 go 命令,如go list,通常沒(méi)有副作用。自動(dòng)修復(fù)并不總是可取的:如果任何所需模塊不提供導(dǎo)入的包,Go 命令將添加新的依賴(lài)項(xiàng),可能觸發(fā)常見(jiàn)依賴(lài)項(xiàng)的升級(jí)。即使輸入路徑拼寫(xiě)錯(cuò)誤,也會(huì)導(dǎo)致(失敗的)網(wǎng)絡(luò)查找。

在 golang 1.16 中,module-aware(模塊感知)命令在go.modgo.sum中發(fā)現(xiàn)問(wèn)題后報(bào)告錯(cuò)誤,而不是嘗試自動(dòng)解決問(wèn)題。在大多數(shù)情況下,錯(cuò)誤消息中列出建議命令來(lái)解決問(wèn)題,例如:

$ go build
example.go:3:8: no required module provides package golang.org/x/net/html; to add it:
 go get golang.org/x/net/html
$ go get golang.org/x/net/html
$ go build

golang 1.16 與 Go 之前版本一樣,如果vendor目錄存在,Go 命令可能會(huì)使用vendor目錄。go getgo mod tidy命令仍然修改go.modgo.sum,因?yàn)樗麄兊闹饕康氖枪芾硪蕾?lài)關(guān)系。

04通過(guò)指定@version后綴安裝特定版本可執(zhí)行文件

go install命令現(xiàn)在可以通過(guò)指定@version后綴安裝特定版本的可執(zhí)行文件,例如:

go install golang.org/x/tools/gopls@v0.6.5

如果使用@version后綴,go install命令使用該確切 Module 版本,忽略當(dāng)前目錄和父目錄中的任何go.mod文件中的 Module 版本。

如果沒(méi)有@version后綴,go install繼續(xù)運(yùn)行,因?yàn)樗恢庇?,建立程序使用?dāng)前模塊的go.mod文件中 requirements 列表和 replacements 列表列出的版本。

為了消除使用哪個(gè)版本的模糊性,在使用此安裝語(yǔ)法go install program@latest時(shí),Go 程序的 go.mod 文件中可能存在幾個(gè)限制的指令。特別是,至少目前不允許replaceexclude指令。從長(zhǎng)遠(yuǎn)來(lái)看,一旦新的go install program@version在大多數(shù)使用情況下工作的很好的前提下,Go 官方計(jì)劃在未來(lái)某個(gè)版本中讓go get命令停止安裝二進(jìn)制文件。

05新增retract指令撤回 Module 版本

您是否在模塊版本準(zhǔn)備好之前意外地發(fā)布了該版本?或者,您是否在發(fā)布需要快速修復(fù)的版本后發(fā)現(xiàn)了問(wèn)題?已發(fā)布版本中的錯(cuò)誤很難更正。為了保持模塊生成的確定性,版本發(fā)布后無(wú)法修改。即使您刪除或更改了版本標(biāo)簽,proxy.golang.org和其他代理可能已經(jīng)有原始緩存。

模塊作者現(xiàn)在可以使用go.mod中的retract指令 retract 模塊版本。retract 的版本仍然存在,可以下載(因此依賴(lài)于它的構(gòu)建不會(huì)中斷),但 go 命令在解決@latest等版本時(shí)不會(huì)自動(dòng)選擇它。go getgo list -m -u會(huì)打印有關(guān)現(xiàn)有用途的警告。

例如,假設(shè)一個(gè)流行的庫(kù)的作者example.com/lib發(fā)布 v1.0.5,然后發(fā)現(xiàn)一個(gè)新的安全問(wèn)題。他們可以添加指令到他們的go.mod文件,例如:

//Remote-triggeredcrashinpackagefoo.SeeCVE-2021-01234.
retractv1.0.5

接下來(lái),作者可以 tag 和 push 版本 v1.0.6,新的最高版本。在此之后,已依賴(lài) v1.0.5 的用戶(hù)在檢查更新或升級(jí)依賴(lài)包時(shí)將收到撤回通知。通知消息可能包括收回指令上方注釋的文本。例如:

$ go list -m -u all
example.com/lib v1.0.0 (retracted)
$ go get .
go: warning: example.com/lib@v1.0.5: retracted by module author:
 Remote-triggered crash in package foo. See CVE-2021-01234.
go: to switch to the latest unretracted version, run:
 go get example.com/lib@latest

06使用新增配置變量 GOVCS 指定特定模塊使用特定版本控制工具

go 命令可以從鏡像proxy.golang.org或直接從版本控制存儲(chǔ)庫(kù)下載模塊源代碼,使用 git、hg、svn、bzr 或 fossil。直接版本控制訪問(wèn)很重要,尤其是對(duì)于代理上不可用的私有模塊,但它也可能是一個(gè)安全問(wèn)題:版本控制工具中的錯(cuò)誤可能被惡意服務(wù)器利用來(lái)運(yùn)行惡意代碼。

Go 1.16 引入了一個(gè)新的配置變量 GOVCS,它允許用戶(hù)指定哪些模塊允許使用特定的版本控制工具。GOVCS 接受一個(gè)逗號(hào)分隔的模式列表:vcslist 規(guī)則。

模式是一條path.Match。匹配模式匹配模塊路徑的一個(gè)或多個(gè)主要元素。公共和私有的特殊模式匹配公共和私有模塊(私有定義為與 GOPRIVATE 中的模式匹配的模塊;公共是其他一切模塊)。vcslist 是允許版本控制命令或關(guān)鍵字 all 或 off 的管道分隔列表。例如:

GOVCS=github.com:git,evil.com:off,*:git|hg

使用此設(shè)置,可以使用 git 下載帶有github.com路徑的模塊;無(wú)法使用任何版本控制命令下載evil.com上的路徑,使用 git 或 hg 下載所有其他路徑(*匹配所有內(nèi)容)的模塊。

如果未設(shè)置環(huán)境變量 GOVCS,或者如果模塊與任何模式不匹配,Go 命令將使用 GOVCS 的默認(rèn)值:允許 git 和 hg 用于公共模塊,并且允許所有工具用于私有模塊。

設(shè)置只允許使用 Git 和 Mercurial 的理由是,這兩個(gè)版本控制工具最關(guān)注作為不受信任服務(wù)器的客戶(hù)端運(yùn)行的問(wèn)題。相比之下,Bazaar、Fossil 和 Subversion 主要用于受信任的、經(jīng)過(guò)驗(yàn)證的環(huán)境中,而且沒(méi)有像 attack surfaces 那樣受到很好的審查。即默認(rèn)設(shè)置為:

GOVCS=public:git|hg,private:all

07Module 未來(lái)發(fā)展

我們希望您發(fā)現(xiàn)這些功能很有用。我們已經(jīng)開(kāi)始開(kāi)發(fā) Go 1.17 的模塊功能,特別是懶惰的模塊加載,這應(yīng)該使模塊加載過(guò)程更快,更穩(wěn)定。

08總結(jié)

本文主要介紹了 Golang 1.16 針對(duì) Module 做的一些變化。通過(guò) Go 官方的這些 Module 變化,切實(shí)解決了 Go 用戶(hù)在使用 Go 時(shí)的實(shí)際問(wèn)題。Go 官方也表示會(huì)在 Golang 1.17 計(jì)劃徹底去除GOPATH模式,所以,如果您的項(xiàng)目目前還沒(méi)有遷移到 Module 模式,是時(shí)候開(kāi)始遷移了。

到此這篇關(guān)于Golang 1.16 中 Modules的主要變化更新的文章就介紹到這了,更多相關(guān)Golang Modules變化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 解析GOROOT、GOPATH、Go-Modules-三者的關(guān)系
  • 解決goland 導(dǎo)入項(xiàng)目后import里的包報(bào)紅問(wèn)題
  • Go 自定義package包設(shè)置與導(dǎo)入操作
  • goland 設(shè)置project gopath的操作
  • 解決Goland 同一個(gè)package中函數(shù)互相調(diào)用的問(wèn)題
  • 淺談golang package中init方法的多處定義及運(yùn)行順序問(wèn)題
  • Goland使用Go Modules創(chuàng)建/管理項(xiàng)目的操作

標(biāo)簽:物業(yè)服務(wù) 遼寧 安康 青海 電子產(chǎn)品 儋州 海南 西雙版納

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Golang 1.16 中 Modules的主要變化更新》,本文關(guān)鍵詞  Golang,1.16,中,Modules,的,主要,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Golang 1.16 中 Modules的主要變化更新》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Golang 1.16 中 Modules的主要變化更新的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美影院一区二区| 国产一区二区三区四| 欧洲日韩一区二区三区| 一区二区三区成人| 欧美中文字幕一区| 婷婷国产v国产偷v亚洲高清| 欧美裸体一区二区三区| 全国精品久久少妇| 久久久亚洲精华液精华液精华液 | 国产精品美日韩| 成人免费视频视频| 亚洲理论在线观看| 欧美日韩极品在线观看一区| 婷婷综合另类小说色区| 日韩免费视频线观看| 成人午夜视频福利| 亚洲精品五月天| 777午夜精品免费视频| 国产制服丝袜一区| 一区免费观看视频| 在线不卡a资源高清| 激情久久五月天| 成人免费小视频| 欧美高清www午色夜在线视频| 狠狠色综合色综合网络| 亚洲视频资源在线| 这里是久久伊人| 国产成人av福利| 亚洲一区二区三区四区五区中文 | 久久精品国产亚洲5555| 国产精品大尺度| 91精品国产一区二区三区蜜臀| 国产精品白丝av| 午夜激情久久久| 中文字幕乱码一区二区免费| 欧美麻豆精品久久久久久| 国产成人av电影在线播放| 亚洲一区二区四区蜜桃| 国产日韩av一区二区| 欧美浪妇xxxx高跟鞋交| 成人av电影在线| 美女性感视频久久| 亚洲欧美另类综合偷拍| 欧美成人性福生活免费看| 91国产成人在线| 国产高清在线精品| 日韩高清在线电影| 亚洲美女屁股眼交3| 久久新电视剧免费观看| 欧美日韩综合一区| 97se亚洲国产综合自在线| 六月丁香婷婷色狠狠久久| 亚洲黄色免费网站| 亚洲国产电影在线观看| 日韩精品一区二区在线观看| 91激情五月电影| 国产.精品.日韩.另类.中文.在线.播放| 亚洲图片自拍偷拍| 国产精品成人免费精品自在线观看| 欧美日韩不卡视频| 日本电影欧美片| 成人高清在线视频| 国产精品77777| 美女视频黄免费的久久| 午夜精品久久久久久久久| 亚洲欧美电影一区二区| 欧美激情艳妇裸体舞| 精品国一区二区三区| 欧美一区二区三区视频在线观看| 91久久精品一区二区三| 成人黄色一级视频| 国产凹凸在线观看一区二区| 国产一区二区三区在线观看免费视频 | 亚洲成人黄色小说| 亚洲乱码一区二区三区在线观看| 国产精品久久久久久久久动漫 | 欧美国产一区二区在线观看| 日韩欧美一区电影| 日韩一区二区精品葵司在线| 欧美日韩国产精品自在自线| 欧美在线不卡视频| 欧美日韩精品一区二区三区四区| 色婷婷av一区二区三区软件| 色综合久久综合| 欧美综合在线视频| 欧美亚州韩日在线看免费版国语版| 91看片淫黄大片一级在线观看| 成人av手机在线观看| 91蝌蚪国产九色| 欧美色爱综合网| 欧美剧情片在线观看| 日韩一区二区电影网| 欧美精品一区二区三区在线| 久久久美女毛片| 国产精品国产自产拍高清av| 成人欧美一区二区三区白人| 一区二区三区久久| 日韩二区三区在线观看| 狠狠色丁香婷综合久久| 成人美女在线观看| 日本韩国欧美国产| 日韩一本二本av| 久久精品无码一区二区三区| 一区在线播放视频| 天天亚洲美女在线视频| 国产乱理伦片在线观看夜一区| 成人午夜电影网站| 91传媒视频在线播放| 日韩午夜av电影| 欧美激情一区二区三区| 亚洲精品国产成人久久av盗摄| 亚洲成人av一区| 久久电影网电视剧免费观看| 另类综合日韩欧美亚洲| 香蕉影视欧美成人| 国产精品888| 91浏览器入口在线观看| 欧美三级乱人伦电影| 日韩欧美中文一区| 欧美色精品在线视频| 久久午夜国产精品| 1区2区3区国产精品| 亚洲尤物视频在线| 毛片av中文字幕一区二区| 奇米一区二区三区av| 国产激情精品久久久第一区二区| 久久99精品国产.久久久久| 丰满岳乱妇一区二区三区| 99久久久久免费精品国产| 欧美性videosxxxxx| 欧美丰满少妇xxxxx高潮对白 | 亚洲国产精品久久人人爱蜜臀| 日本中文字幕一区二区有限公司| 国产激情视频一区二区三区欧美| 欧美福利电影网| 国产精品久久久久久久久免费樱桃| 亚洲综合激情网| 国产高清亚洲一区| 欧美日韩一级二级| 国产精品色婷婷| 欧美96一区二区免费视频| 成人免费高清在线观看| 欧美一区二区三区爱爱| 亚洲精品在线观| 日产国产高清一区二区三区| av午夜一区麻豆| 日韩精品一区二区三区中文不卡 | 日本不卡中文字幕| 成人黄色免费短视频| 欧美精品一级二级三级| 一区二区日韩电影| 高清国产一区二区| 日韩一区二区精品| 亚洲成av人影院| 国产aⅴ精品一区二区三区色成熟| 8v天堂国产在线一区二区| 亚洲丝袜精品丝袜在线| 国产美女娇喘av呻吟久久| 在线播放国产精品二区一二区四区 | 色哟哟国产精品| 中文字幕乱码一区二区免费| 人人超碰91尤物精品国产| 欧洲亚洲国产日韩| 亚洲视频图片小说| 另类调教123区| 精品国产人成亚洲区| 亚洲成年人影院| 色天天综合久久久久综合片| 久久久夜色精品亚洲| 国产一区二区不卡老阿姨| 精品奇米国产一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 国产精品88888| 精品久久久久99| 秋霞国产午夜精品免费视频| 日韩一级大片在线观看| 视频一区欧美日韩| 欧美少妇xxx| 亚洲伦理在线精品| 色婷婷综合五月| 亚洲一级二级在线| 欧美性极品少妇| 亚洲综合小说图片| 欧美日韩综合在线免费观看| 亚洲视频在线一区观看| 成人av在线电影| 国产精品电影一区二区| 99久久国产免费看| 中文字幕在线观看不卡| 在线观看国产91| 天堂精品中文字幕在线| 欧美区在线观看| 亚洲国产美国国产综合一区二区| 91精品国产综合久久久久久久久久 | 国产成人在线免费观看| 欧美一级夜夜爽| 国产福利一区二区| 国产精品私人影院| av中文字幕一区| 亚洲女子a中天字幕|