goinstall和goget的區(qū)別-創(chuàng)新互聯(lián)

go install和go get的區(qū)別
    • go get 和 go install 的區(qū)別
    • go get命變更
    • go get命令變更的原因
    • GOMODULE常用命令

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務至上”的服務理念,堅持“二合一”的優(yōu)良服務模式,真誠服務每家企業(yè),認真做好每個細節(jié),不斷完善自我,成就企業(yè),實現(xiàn)共贏。行業(yè)涉及活動板房等,在成都網(wǎng)站建設全網(wǎng)整合營銷推廣、WAP手機網(wǎng)站、VI設計、軟件開發(fā)等項目上具有豐富的設計經(jīng)驗。go get 和 go install 的區(qū)別

先看結論:

  • go get: 對go mod項目,添加,更新,刪除go.mod文件的依賴項(僅源碼)。不執(zhí)行編譯。側重應用依賴項管理。
  • go install: 在操作系統(tǒng)中安裝Go 生態(tài)的第三方命令行應用。不更改項目go.mod文件。側重可執(zhí)行文件的編譯和安裝。

之前網(wǎng)上亂傳的go get 命令要被棄用是錯的。正確說法是,go 1.17后,go get命令的使用方式發(fā)生了改變.

具體什么改變呢?請看官方說明:

Starting in Go 1.17, installing executables with go get is deprecated. go install may be used instead.
In Go 1.18, go get will no longer build packages; it will only be used to add, update, or remove dependencies in go.mod.
Specifically, go get will always act as if the -d flag were enabled.

大概表達3個意思:

  1. Go 1.17起, 棄用go get命令安裝可執(zhí)行文件,使用go install命令替代.
  2. Go 1.18起,go get命令不再有編譯包的功能。將只有添加,更新,移除go.mod文件中的依賴項的功能。
  3. go get命令將默認啟用-d選項。
go get命變更
  • Go 1.17 之前:go get通過遠程拉取或更新代碼包及其依賴包,并自動完成編譯和安裝。實際分成兩步操作:1. 下載源碼包,2. 執(zhí)行 go install。

  • Go 1.17 之后:棄用go get命令的編譯和安裝功能

go get命令變更的原因

由于go 1.11之后go modmodules特性的引入,使得go get命令,既可以安裝第三方命令,又可以從go.mod文件自動更新項目依賴。但多數(shù)情況下,開發(fā)者只想做二者之一。

go 1.16起,go install命令,可以忽略當前目錄的go.mod文件(如果存在),直接安裝指定版本的命令行應用。

go get命令的編譯和安裝功能,因為和go install命令的功能重復,故被棄用。由于棄用了編譯和安裝功能,go get命令將獲得更高的執(zhí)行效率, 也不會在更新包的時候,再出現(xiàn)編譯失敗的報錯。

Since modules were introduced, the go get command has been used both to update dependencies in go.mod and to install commands.
This combination is frequently confusing and inconvenient: in most cases, developers want to update a dependency or install a command but not both at the same time.

Since Go 1.16, go install can install a command at a version specified on the command line while ignoring the go.mod file in the current directory (if one exists).
go install should now be used to install commands in most cases.

go get’s ability to build and install commands is now deprecated, since that functionality is redundant with go install.
Removing this functionality will make go get faster, since it won’t compile or link packages by default.
go get also won’t report an error when updating a package that can’t be built for the current platform.

go get由于具備更改go.mod文件的能力,因此我們 必須要避免執(zhí)行go get命令時,讓它接觸到我們的go.mod文件 ,否則它會將我們安裝的工具作為一個依賴。

所以,如果不是為了更新項目依賴,而是安裝可執(zhí)行命令,請使用 go install

GOMODULE常用命令
go mod init  # 初始化go.mod
go mod tidy  # 直接從源代碼中獲取依賴關系,更新依賴文件。可刪掉go.mod中無用的依賴。
go mod download  # 下載依賴文件
go mod vendor  # 將依賴轉移至本地的vendor文件
go mod edit  # 手動修改依賴文件
go mod graph  # 打印依賴圖
go mod verify  # 校驗依賴

在項目源碼中使用 import 語句,導入新的依賴模塊前,可用go get命令,先下載新模塊。


go instsll 應該在module外部使用 https://github.com/golang/go/issues/40276
棄用go get命令安裝可執(zhí)行文件 https://go.dev/doc/go-get-install-deprecation
Go 1.16 中關于 go get 和 go install https://cloud.tencent.com/developer/article/1766820

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

當前標題:goinstall和goget的區(qū)別-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://m.kartarina.com/article36/ejdsg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)云服務器微信小程序網(wǎng)站收錄自適應網(wǎng)站關鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
主站蜘蛛池模板: 国产午夜无码视频在线观看| 亚洲AV无码国产精品色| 国产精品无码专区AV在线播放| 无码国产精品一区二区高潮| 亚洲va中文字幕无码久久| 日韩成人无码一区二区三区| 日本爆乳j罩杯无码视频| 亚洲日韩精品无码专区| 国产AV一区二区三区无码野战| 国产乱妇无码大片在线观看 | 国产日韩精品无码区免费专区国产 | 一本大道无码日韩精品影视_| 亚洲AV综合色区无码一区| 国产嫖妓一区二区三区无码 | 久久久久久久无码高潮| 伊人久久大香线蕉无码麻豆| 激情无码人妻又粗又大中国人| 高h纯肉无码视频在线观看| 狠狠躁天天躁无码中文字幕| 无码综合天天久久综合网| 精品久久久无码人妻中文字幕| 一本加勒比hezyo无码专区| 久久99久久无码毛片一区二区| 精品无码综合一区二区三区| 永久免费av无码不卡在线观看 | 国产在线观看无码免费视频| 波多野结衣VA无码中文字幕电影| 亚洲中文无码mv| 白嫩少妇激情无码| 亚洲AV无码久久久久网站蜜桃 | 黄色成人网站免费无码av| AV无码人妻中文字幕| 亚洲av极品无码专区在线观看| 久久无码人妻一区二区三区| 无码人妻精品一区二区三区66| 色窝窝无码一区二区三区成人网站 | 日韩精品无码一区二区三区| 无码国产福利av私拍| 久久亚洲精品成人av无码网站 | 一本加勒比HEZYO无码资源网| 在线播放无码后入内射少妇|