Go?modules?replace解決Go依賴引用問題
為什么會(huì)用到 replace
取名是一個(gè)很有講究的事情,但每個(gè)人都不一樣。
- 一開始,我寫了一個(gè) A 項(xiàng)目,代碼倉名稱為 project-alpha
- 但 go.mod 里的 package 設(shè)置的是 github.com/k8scat/alpha,
- 當(dāng)在另一項(xiàng)目 B 中想要引用 A 項(xiàng)目的代碼時(shí),一般來說,用的是 github.com/k8scat/project-alpha
- 因?yàn)?go get 會(huì)使用 git 去,但由于 package 和代碼倉的名稱不一樣
需要使用 replace 進(jìn)行轉(zhuǎn)換一下:
package github.com/k8scat/beta require github.com/k8scat/alpha v0.0.0 replace github.com/k8scat/alpha github.com/k8scat/project-alpha v1.0.0
使用 go mod edit 進(jìn)行設(shè)置 replace:
go mod edit -replace github.com/k8scat/alpha=github.com/k8scat/project-alpha@v1.0.0
注意:該命令只會(huì)設(shè)置 replace,require 需要另外設(shè)置,且 require 的依賴版本被忽略,使用 replace 的依賴版本。
replace 的其他使用場景
解決 golang.org 依賴無法下載的問題
go mod edit -replace golang.org/x/crypto=github.com/golang/crypto@v0.0.0-20160511215533-1f3b11f56072
注意:這里目標(biāo)依賴的版本號(hào)必須符合 SemVer 規(guī)范,不能是 master 和 latest(go get 可以用)
參考資料
以上就是Go modules replace解決Go依賴引用問題的詳細(xì)內(nèi)容,更多關(guān)于Go modules replace依賴引用的資料請關(guān)注腳本之家其它相關(guān)文章!
- Goland使用Go Modules創(chuàng)建/管理項(xiàng)目的操作
- Linux中Go環(huán)境配置和GoModule常用操作
- go modules中replace使用方法
- GoLang中Module的基本使用方法
- go module構(gòu)建項(xiàng)目的實(shí)現(xiàn)
- 重學(xué)Go語言之如何使用Modules
- 詳解golang中?work與?module?的區(qū)別與聯(lián)系
- 淺析Go項(xiàng)目中的依賴包管理與Go?Module常規(guī)操作
- Go Module常用命令及如何使用Go Module
- Go Module依賴管理的實(shí)現(xiàn)
相關(guān)文章
Go語言通過反射實(shí)現(xiàn)獲取各種類型變量的值
反射是程序在運(yùn)行期間獲取變量的類型和值、或者執(zhí)行變量的方法的能力,這篇文章主要為大家講講Go語言通過反射獲取各種類型變量值的方法,需要的可以參考下2023-07-07
golang數(shù)組和切片作為參數(shù)和返回值的實(shí)現(xiàn)
本文主要介紹了golang數(shù)組和切片作為參數(shù)和返回值的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
GoFrame框架Scan類型轉(zhuǎn)換實(shí)例
這篇文章主要為大家介紹了GoFrame框架Scan類型轉(zhuǎn)換的實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
掌握Golang中的select語句實(shí)現(xiàn)并發(fā)編程
Golang中的select語句用于在多個(gè)通道間選擇可讀或可寫的操作,并阻塞等待其中一個(gè)通道進(jìn)行操作??梢杂糜趯?shí)現(xiàn)超時(shí)控制、取消和中斷操作等。同時(shí),select語句支持default分支,用于在沒有任何通道可操作時(shí)執(zhí)行默認(rèn)操作2023-04-04

