簡體   English   中英

使用 Go 依賴項的修改版本時出現問題

[英]Issue with using a modified version of a Go dependency

所以情況如下:

我有一個go-ipfs 這取決於go-ipfs-config 我需要修改go-ipfs-config並使go-ipfs依賴於我修改后的版本。

我分叉了go-ipfs-config進行了更改,並確保將路徑更新為我的分叉版本的路徑,如此處所示 我通過運行go build確認這仍然可以成功構建

然后我更新了go-ipfs go.mod的 go.mod 以使用我的修改版本。 我使用replace指令來表示這個意圖,可以在這里看到

這就是事情變得絕對掩體的地方,我不再確定發生了什么。

當我做go mod tidy以獲取依賴項時,我得到以下 output:

go: finding module for package github.com/dadepo/go-ipfs-config
go: found github.com/dadepo/go-ipfs-config in github.com/dadepo/go-ipfs-config v0.5.3

瘋狂的是, v0.5.3中不存在 v0.5.3!

還將以下行添加到 go.mod 中:

github.com/dadepo/go-ipfs-config v0.5.3 // indirect

甚至可以在這里看到

我已經運行go clean -modcachego clean -r等命令,但似乎沒有解決問題!

有人知道我做錯了什么嗎? 以及如何實現使我的項目版本依賴於其依賴項的另一個修改版本的目標?

好的,這是因為我沒有意識到 Go lang 工具鏈中發生的一些事情。

顯然https://proxy.golang.org是一回事。 它是 google 運營的緩存模塊的服務,所以如果你發布了,刪除它,很可能該版本已經緩存在https://proxy.golang.org中。 這正是我的情況。 我發布了 0.5.3 版本,刪除了它,但它並沒有真正消失,因為 Google 緩存已經掌握了它。

因此,如果您看到不應該存在的版本。 這應該是您檢查的第一個地方。 文檔鏈接還對代理以及如何調整它提供了更多信息。

我是根據我在打開報告此行為的問題上進行的對話發現的。 如果您好奇,可以在這里查看

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM