为了账号安全,请及时绑定邮箱和手机立即绑定

go mod 找不到依赖项的版本 v0.0.0-00010101000000

go mod 找不到依赖项的版本 v0.0.0-00010101000000

Go
慕斯709654 2023-07-26 15:23:25
我正在尝试通过 go mod 下载项目的所有依赖项;go mod vendor在 CLI 上执行时会出现问题。输出如下:go: finding github.com/hyperledger/fabric-sdk-go v0.0.0-00010101000000-000000000000go: github.com/hyperledger/fabric-sdk-go@v0.0.0-00010101000000-000000000000: unknown revision 000000000000go: error loading module requirements导入库的代码是这样的:import (        "github.com/hyperledger/fabric-sdk-go/pkg/client/ledger"    "github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"    "github.com/hyperledger/fabric-sdk-go/pkg/fabsdk")krakengosdk 是我正在处理的包的名称:go mod init krakengosdk有什么解决办法吗?我一段时间以来一直在寻找任何解决方案,但没有找到任何有用的东西。编辑:我已将 go 版本更新为 1.13;似乎错误必须与“github.com/hyperledger/fabric-sdk-go/test/integration@v0.0.0-20190918153951-5d7ae7a5be8f”有关:go get -v github.com/hyperledger/fabric-sdk-go/test/integration@latestgo: finding github.com/hyperledger/fabric-sdk-go/test/integration latestgo get: github.com/hyperledger/fabric-sdk-go/test/integration@v0.0.0-20190918153951-5d7ae7a5be8f requires    github.com/hyperledger/fabric-sdk-go@v0.0.0-00010101000000-000000000000: invalid version: unknown revision 000000000000
查看完整描述

5 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

问题:

  1. 您的具体 go.mod 文件是什么?

  2. 您有任何replace指示吗github.com/hyperledger/fabric-sdk-go

  3. 如果你现在没有,那么你曾经有过吗?

v0.0.0-00010101000000-000000000000如果您有replace指令但没有相应的require指令,并且该go命令会自动为您使用该长版本添加指令,则通常会显示该长require版本。

这可以很好,但我想知道您是否做了类似添加 a 的操作replace,但后来删除了replace,同时将长版本保留v0.0.0-00010101000000-000000000000require. 或类似的东西。

如果您出现以下情况,会发生什么情况:

  1. 删除您可能拥有的任何replace指令github.com/hyperledger/fabric-sdk-go

  2. require将for更改github.com/hyperledger/fabric-sdk-go为:

 require github.com/hyperledger/fabric-sdk-go latest
  1. 跑步go list -m all

另外,如果还没有,您应该使用最新版本的 Go 1.13,它修复了一些错误,但通常也有更好的错误消息。


查看完整回答
反对 回复 2023-07-26
?
Helenr

TA贡献1780条经验 获得超3个赞

由于使用替换标志并删除替换标志,这发生在我身上。可以使用以下两个命令来纠正此问题。

go mod edit -droprequire=github.com/hyperledger/fabric-sdk-go

上面的命令删除了依赖

go mod tidy

上面的命令重新下载依赖项。


查看完整回答
反对 回复 2023-07-26
?
森林海

TA贡献2011条经验 获得超2个赞

提议的诊断

我建议在控制台中尝试这些命令(bash/dash/fish/zsh):



# 1. Create clean project 

$ mkdir /tmp/checkmods && cd /tmp/checkmods  # create clean directory

$ export GO111MODULES=on

$ go version # check that version 1.13

$ go mod init main # name of package does not matter here


# 2. Install packages, check output

$ go get -v github.com/hyperledger/fabric-sdk-go/pkg/client/ledger

$ go get -v github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt

$ go get -v github.com/hyperledger/fabric-sdk-go/pkg/fabsdk


# 3. Create main.go 

$ touch main.go

$ # edit main.go, add imported packages, import something from those packages

$ go mod vendor 

# Do you have problems here? 

# if you encounter problems: 

# - play around  with `go mod tidy`

# - look at `go.mod` and `go.sum`

# - `go mod graph/verify/why` - are your friends

示例main.go:


package main


import (

    "fmt"

    "github.com/hyperledger/fabric-sdk-go/pkg/client/ledger"

    "github.com/hyperledger/fabric-sdk-go/pkg/client/resmgmt"

    "github.com/hyperledger/fabric-sdk-go/pkg/fabsdk"

)


func main() {

    var (

        cln  &ledger.Client

        rsm  &resmgmt.Client

        fbs  &fabsdk.FabricSDK

    )

    fmt.Printf("%T %T %T\n", cln, rsm, fbs)

}

分析

如果遇到问题:说明您在哪一行遇到了什么样的问题。


如果干净启动一切正常:看看您的项目和干净启动之间有什么不同(go.sum 和 go.mod 的差异)


祝你好运!


查看完整回答
反对 回复 2023-07-26
?
皈依舞

TA贡献1851条经验 获得超3个赞

错误- go 尝试为导入它的特定模块提取的版本已过时或无效。


解决方案- 例如,在我的例子中,我收到以下错误:


go: downloading github.com/myk4040okothogodo/tutorial/gen/go/proto/books v0.0.0-00010101000000-000000000000

github.com/myk4040okothogodo/tutorial/books imports

    github.com/myk4040okothogodo/tutorial/books/server imports

    github.com/myk4040okothogodo/tutorial/gen/go/proto/books: github.com/myk4040okothogodo/tutorial/gen/go/proto/books@v0.0.0-00010101000000-000000000000: invalid version: unknown revision 000000000000

正如你在上面看到的,我的模块“github.com/myk4040okothogodo/tutorial/books/server”导入了另一个模块“github.com/myk4040okothogodo/tutorial/gen/go/proto/books:”这个导入抛出了上面的错误,所以我转到我的 go.mod 文件并进行以下更改:


 1 module github.com/myk4040okothogodo/tutorial/books/server                                                                                                           

  2 

  3 go 1.18

  4 

  5 replace github.com/myk4040okothogodo/tutorial/db => ../../db

  6 

  7 replace github.com/myk4040okothogodo/tutorial/gen/go/proto/books => ../../gen/go/proto/books

  8 

  9 require (

 10   github.com/arangodb/go-driver v1.3.2

 11   github.com/myk4040okothogodo/tutorial/db v0.0.0-00010101000000-000000000000

 12   github.com/myk4040okothogodo/tutorial/gen/go/proto/books latest

 13   google.golang.org/grpc v1.47.0

 14 )

检查上面第 12 行,其中我输入“最新”而不是版本号,即“v0.0.0....”


我保存文件,然后运行 “go mod tidy”


然后编译器将“最新”名称更改为最新版本,即运行 mod tidy 命令后它将如下所示。


1 module github.com/myk4040okothogodo/tutorial/books/server                                                                                                           

  2 

  3 go 1.18

  4 

  5 replace github.com/myk4040okothogodo/tutorial/db => ../../db

  6 

  7 replace github.com/myk4040okothogodo/tutorial/gen/go/proto/books => ../../gen/go/proto/books

  8 

  9 require (

 10   github.com/arangodb/go-driver v1.3.2

 11   github.com/myk4040okothogodo/tutorial/db v0.0.0-00010101000000-000000000000

 12   github.com/myk4040okothogodo/tutorial/gen/go/proto/books v0.0.0-20220601171028-60237b9c9583

 13   google.golang.org/grpc v1.47.0

 14 )

PS:检查我进行更改的包,不要更改错误的导入


查看完整回答
反对 回复 2023-07-26
?
慕容森

TA贡献1853条经验 获得超18个赞

我不确定这个解决方案是否适合每个人,但我只是这样做了go get PACKAGE_WITH_ISSUE,所以就你而言:

go get github.com/hyperledger/fabric-sdk-go


查看完整回答
反对 回复 2023-07-26
  • 5 回答
  • 0 关注
  • 603 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信