Go?modules?replace解決Go依賴引用問題
為什么會用到 replace
取名是一個很有講究的事情,但每個人都不一樣。
- 一開始,我寫了一個 A 項(xiàng)目,代碼倉名稱為 project-alpha
- 但 go.mod 里的 package 設(shè)置的是 github.com/k8scat/alpha,
- 當(dāng)在另一項(xiàng)目 B 中想要引用 A 項(xiàng)目的代碼時,一般來說,用的是 github.com/k8scat/project-alpha
- 因?yàn)?go get 會使用 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
注意:該命令只會設(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)依賴的版本號必須符合 SemVer 規(guī)范,不能是 master 和 latest(go get 可以用)
參考資料
以上就是Go modules replace解決Go依賴引用問題的詳細(xì)內(nèi)容,更多關(guān)于Go modules replace依賴引用的資料請關(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分布式鎖解決秒殺問題
這篇文章主要給大家介紹了使用Golang實(shí)現(xiàn)Redis分布式鎖解決秒殺問題,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價值,需要的朋友可以參考下2023-08-08
淺析Go語言中的緩沖區(qū)及其在fmt包中的應(yīng)用
這篇文章主要為大家詳細(xì)介紹了Go語言中的緩沖區(qū)及其在fmt包中的應(yīng)用的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2024-01-01

