婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Golang 1.16 中 Modules的主要變化更新

Golang 1.16 中 Modules的主要變化更新

熱門標簽:地圖標注免費定制店 上海極信防封電銷卡價格 重慶慶云企業400電話到哪申請 宿遷便宜外呼系統代理商 鄭州智能語音電銷機器人價格 湛江crm外呼系統排名 不封卡外呼系統 寧波語音外呼系統公司 仙桃400電話辦理

01介紹

Golang 1.16 已經正式發布了,其中 Modules 有一些變化:

  • 默認開啟 Modules。
  • 不自動修改 go.mod 和 go.sum。
  • 通過指定 @version 后綴安裝特定版本可執行文件。
  • 新增 retract 指令撤回 Module 版本。
  • 使用新增配置變量 GOVCS 指定特定模塊使用特定版本控制工具。

golang 1.16 默認開啟 Modules,即使不存在go.mod,Go 命令現在默認情況下也會在module-aware(模塊感知)模式下構建包。

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

goenv-wGO111MODULE=auto

Go 官方計劃在Go 1.17中放棄對GOPATH模式的支持。換句話說,Go 1.17將忽略GO111MODULE。如果您的項目不在module-aware(模塊感知)模式下構建,則現在是時候遷移至module-aware(模塊感知)模式了。

03不自動修改go.mod和go.sum

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

在 golang 1.16 中,module-aware(模塊感知)命令在go.modgo.sum中發現問題后報告錯誤,而不是嘗試自動解決問題。在大多數情況下,錯誤消息中列出建議命令來解決問題,例如:

$ 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 命令可能會使用vendor目錄。go getgo mod tidy命令仍然修改go.modgo.sum,因為他們的主要目的是管理依賴關系。

04通過指定@version后綴安裝特定版本可執行文件

go install命令現在可以通過指定@version后綴安裝特定版本的可執行文件,例如:

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

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

如果沒有@version后綴,go install繼續運行,因為它一直有,建立程序使用當前模塊的go.mod文件中 requirements 列表和 replacements 列表列出的版本。

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

05新增retract指令撤回 Module 版本

您是否在模塊版本準備好之前意外地發布了該版本?或者,您是否在發布需要快速修復的版本后發現了問題?已發布版本中的錯誤很難更正。為了保持模塊生成的確定性,版本發布后無法修改。即使您刪除或更改了版本標簽,proxy.golang.org和其他代理可能已經有原始緩存。

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

例如,假設一個流行的庫的作者example.com/lib發布 v1.0.5,然后發現一個新的安全問題。他們可以添加指令到他們的go.mod文件,例如:

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

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

$ 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或直接從版本控制存儲庫下載模塊源代碼,使用 git、hg、svn、bzr 或 fossil。直接版本控制訪問很重要,尤其是對于代理上不可用的私有模塊,但它也可能是一個安全問題:版本控制工具中的錯誤可能被惡意服務器利用來運行惡意代碼。

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

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

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

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

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

設置只允許使用 Git 和 Mercurial 的理由是,這兩個版本控制工具最關注作為不受信任服務器的客戶端運行的問題。相比之下,Bazaar、Fossil 和 Subversion 主要用于受信任的、經過驗證的環境中,而且沒有像 attack surfaces 那樣受到很好的審查。即默認設置為:

GOVCS=public:git|hg,private:all

07Module 未來發展

我們希望您發現這些功能很有用。我們已經開始開發 Go 1.17 的模塊功能,特別是懶惰的模塊加載,這應該使模塊加載過程更快,更穩定。

08總結

本文主要介紹了 Golang 1.16 針對 Module 做的一些變化。通過 Go 官方的這些 Module 變化,切實解決了 Go 用戶在使用 Go 時的實際問題。Go 官方也表示會在 Golang 1.17 計劃徹底去除GOPATH模式,所以,如果您的項目目前還沒有遷移到 Module 模式,是時候開始遷移了。

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

您可能感興趣的文章:
  • 解析GOROOT、GOPATH、Go-Modules-三者的關系
  • 解決goland 導入項目后import里的包報紅問題
  • Go 自定義package包設置與導入操作
  • goland 設置project gopath的操作
  • 解決Goland 同一個package中函數互相調用的問題
  • 淺談golang package中init方法的多處定義及運行順序問題
  • Goland使用Go Modules創建/管理項目的操作

標簽:物業服務 遼寧 安康 青海 電子產品 儋州 海南 西雙版納

巨人網絡通訊聲明:本文標題《Golang 1.16 中 Modules的主要變化更新》,本文關鍵詞  Golang,1.16,中,Modules,的,主要,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Golang 1.16 中 Modules的主要變化更新》相關的同類信息!
  • 本頁收集關于Golang 1.16 中 Modules的主要變化更新的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲一区视频在线| 国产亲近乱来精品视频| 91色porny蝌蚪| 福利一区福利二区| 成人一级片在线观看| 国产精品456露脸| 成人精品视频一区| 91麻豆国产精品久久| 欧美性猛交xxxxxx富婆| 欧美色图激情小说| 91精品国产综合久久久久久漫画| 91精品国产综合久久婷婷香蕉 | www一区二区| 337p粉嫩大胆噜噜噜噜噜91av| 久久亚洲一区二区三区明星换脸| 久久亚洲精品国产精品紫薇 | 欧洲精品视频在线观看| 日本高清不卡aⅴ免费网站| 欧美亚洲一区二区三区四区| 3751色影院一区二区三区| 欧美精品一区二区三区高清aⅴ | 美女任你摸久久| 国产一区福利在线| 91捆绑美女网站| 欧美一区二区三区色| 欧美精品一区二区三区在线播放| 国产精品久久久久婷婷| 丝袜a∨在线一区二区三区不卡| 久久成人免费日本黄色| aaa亚洲精品| 日韩一级黄色片| 国产精品麻豆久久久| 日韩va欧美va亚洲va久久| 粉嫩久久99精品久久久久久夜| 在线一区二区三区做爰视频网站| 日韩免费一区二区三区在线播放| 中文字幕日韩精品一区| 视频一区二区三区在线| 高清不卡在线观看av| 欧美一区二区在线免费播放 | 国产亚洲综合在线| 亚洲国产sm捆绑调教视频| 国产一区不卡精品| 欧美另类一区二区三区| 国产精品日韩成人| 精品无人码麻豆乱码1区2区 | 精品一区二区三区影院在线午夜| 99久久伊人久久99| 精品99999| 偷窥少妇高潮呻吟av久久免费| 成人av网站在线观看免费| 日韩精品一区在线| 亚洲国产中文字幕在线视频综合 | 国产精品天干天干在观线| 日韩精品福利网| 精品污污网站免费看| 综合久久国产九一剧情麻豆| 高潮精品一区videoshd| 亚洲精品一区二区三区影院 | 91小视频免费看| 久久天天做天天爱综合色| 日本伊人色综合网| 欧美日韩国产一区二区三区地区| 亚洲黄网站在线观看| av激情亚洲男人天堂| 国产日韩av一区二区| 成人妖精视频yjsp地址| 国产偷v国产偷v亚洲高清| 韩国精品主播一区二区在线观看 | 欧美成人一级视频| 日韩成人一区二区三区在线观看| 欧美精品 日韩| 日韩精品福利网| 日韩午夜激情av| 美女脱光内衣内裤视频久久影院| 正在播放一区二区| 美国十次综合导航| 日韩精品专区在线影院重磅| 久久成人久久爱| 久久综合九色综合97婷婷| 国产在线精品一区在线观看麻豆| 欧美精品一区二区蜜臀亚洲| 国产风韵犹存在线视精品| 国产精品久久久久久久久搜平片| 成人精品gif动图一区| 亚洲人午夜精品天堂一二香蕉| 一本久久a久久精品亚洲| 曰韩精品一区二区| 欧美男男青年gay1069videost | 色域天天综合网| 亚洲h在线观看| 精品奇米国产一区二区三区| 国产成人自拍高清视频在线免费播放| 国产欧美精品国产国产专区 | 欧美精品vⅰdeose4hd| 久久精品久久综合| 国产精品欧美久久久久一区二区| 色综合色综合色综合| 三级在线观看一区二区| 亚洲精品在线电影| 91成人在线免费观看| 麻豆久久久久久| 亚洲天堂福利av| 欧美一区二区黄| 成人免费视频视频| 首页国产欧美日韩丝袜| 久久精品视频免费| 欧美日韩国产123区| 国产91色综合久久免费分享| 亚洲国产日韩一级| 久久久久久久久久久99999| 欧美午夜片在线看| 国产一区二区三区四区五区入口| 亚洲毛片av在线| 久久久国产精品不卡| 欧美三区在线观看| 99re在线精品| 国产专区欧美精品| 亚洲第一综合色| 中文字幕一区二区三区精华液 | 4438x成人网最大色成网站| 国产盗摄女厕一区二区三区| 亚洲一级二级三级在线免费观看| 国产日韩欧美制服另类| 日韩视频在线你懂得| 在线国产亚洲欧美| 成年人午夜久久久| 国产精品亚洲а∨天堂免在线| 亚洲成人福利片| 亚洲综合色在线| 国产精品视频一区二区三区不卡| 欧美mv日韩mv国产网站app| 欧美性大战xxxxx久久久| 91免费观看视频| 成人午夜视频在线| 国产成人免费在线视频| 狠狠狠色丁香婷婷综合久久五月| 日韩av一区二区在线影视| 性做久久久久久免费观看| 亚洲女同一区二区| 国产精品美女久久久久久久久久久 | 国产精品一线二线三线精华| 捆绑变态av一区二区三区| 无码av免费一区二区三区试看| 一区二区三区不卡视频在线观看| 亚洲欧洲制服丝袜| 亚洲欧洲性图库| 一区二区三国产精华液| 亚洲一二三区在线观看| 亚洲综合在线电影| 亚洲一区二区三区四区五区黄| 亚洲国产精品久久久男人的天堂 | 日韩三级精品电影久久久| 欧美日韩国产影片| 欧美日韩精品福利| 欧美日韩国产综合一区二区| 91精品国产色综合久久久蜜香臀| 欧美日韩视频专区在线播放| 91精品国产综合久久香蕉麻豆| 日韩一区二区三区观看| 久久久久97国产精华液好用吗| 欧美激情中文字幕| 亚洲欧美日本在线| 午夜电影久久久| 韩国欧美一区二区| 99精品桃花视频在线观看| 欧美制服丝袜第一页| 制服丝袜中文字幕亚洲| 久久久蜜桃精品| 亚洲精品久久久蜜桃| 丝袜美腿成人在线| 懂色av一区二区三区蜜臀| 欧美综合色免费| 精品欧美一区二区久久| 亚洲图片激情小说| 日韩电影免费在线观看网站| 国产精品 日产精品 欧美精品| 99re66热这里只有精品3直播| 欧美视频在线一区二区三区 | 99re成人精品视频| 欧美日韩国产成人在线91| 国产亚洲污的网站| 午夜精品影院在线观看| 国产一区二区三区免费看| 一本久久精品一区二区| 欧美大片一区二区三区| 亚洲乱码中文字幕| 激情五月播播久久久精品| 色噜噜夜夜夜综合网| 久久蜜臀精品av| 偷拍一区二区三区四区| 成人免费视频caoporn| 欧美大片在线观看一区| 亚洲国产cao| 91欧美一区二区| 精品91自产拍在线观看一区| 亚洲自拍都市欧美小说| 99视频国产精品| 久久久国际精品| 九色综合国产一区二区三区|