Go?modules?replace解決Go依賴(lài)引用問(wèn)題
為什么會(huì)用到 replace
取名是一個(gè)很有講究的事情,但每個(gè)人都不一樣。
- 一開(kāi)始,我寫(xiě)了一個(gè) A 項(xiàng)目,代碼倉(cāng)名稱(chēng)為 project-alpha
- 但 go.mod 里的 package 設(shè)置的是 github.com/k8scat/alpha,
- 當(dāng)在另一項(xiàng)目 B 中想要引用 A 項(xiàng)目的代碼時(shí),一般來(lái)說(shuō),用的是 github.com/k8scat/project-alpha
- 因?yàn)?go get 會(huì)使用 git 去,但由于 package 和代碼倉(cāng)的名稱(chēng)不一樣
需要使用 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 的依賴(lài)版本被忽略,使用 replace 的依賴(lài)版本。
replace 的其他使用場(chǎng)景
解決 golang.org 依賴(lài)無(wú)法下載的問(wèn)題
go mod edit -replace golang.org/x/crypto=github.com/golang/crypto@v0.0.0-20160511215533-1f3b11f56072
注意:這里目標(biāo)依賴(lài)的版本號(hào)必須符合 SemVer 規(guī)范,不能是 master 和 latest(go get 可以用)
參考資料
以上就是Go modules replace解決Go依賴(lài)引用問(wèn)題的詳細(xì)內(nèi)容,更多關(guān)于Go modules replace依賴(lài)引用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
web項(xiàng)目中g(shù)olang性能監(jiān)控解析
這篇文章主要為大家介紹了web項(xiàng)目中g(shù)olang性能監(jiān)控詳細(xì)的解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
基于Golang實(shí)現(xiàn)Redis分布式鎖解決秒殺問(wèn)題
這篇文章主要給大家介紹了使用Golang實(shí)現(xiàn)Redis分布式鎖解決秒殺問(wèn)題,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下2023-08-08
golang如何通過(guò)type定義函數(shù)類(lèi)型
這篇文章主要介紹了golang如何通過(guò)type定義函數(shù)類(lèi)型問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
golang-redis之sorted set類(lèi)型操作詳解
這篇文章主要介紹了golang-redis之sorted set類(lèi)型操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
淺析Go語(yǔ)言中的緩沖區(qū)及其在fmt包中的應(yīng)用
這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中的緩沖區(qū)及其在fmt包中的應(yīng)用的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2024-01-01

