gpt4 book ai didi

go - 使用具有典型目录结构的 go 模块,似乎无法正常工作

转载 作者:行者123 更新时间:2023-12-01 22:41:29 24 4
gpt4 key购买 nike

所以我创建了一个简单的测试项目来演示我在更大的代码库中遇到的问题 https://github.com/cleblanc189/test.go

.
├── go.mod
├── main.exe
├── main.go
├── server
│   ├── v1beta1
│   │   ├── foo.go
│   │   └── go.mod
│   └── v1ga
│   ├── foo.go
│   └── go.mod
└── service
├── v1beta1
│   ├── foo.go
│   └── go.mod
└── v1ga
├── foo.go
└── go.mod

我希望能够从 server/v1beta1 引用 service/v1beta1 但我收到此错误
go: test.go/src/server/v1beta1@v0.0.0 requires
test.go/src/service/v1beta1@v0.0.0: unrecognized import path "test.go/src/service/v1beta1" (https fetch: Get https://test.go/src/ser
vice/v1beta1?go-get=1: dial tcp: lookup test.go: no such host)

在 foo.go from server/v1beta1 我这样导入 svc "test.go/src/service/v1beta1"

并有一个如下所示的 go.mod 文件;
require test.go/src/service/v1beta1 v0.0.0

replace test.go/src/service/v1beta1 => ../../service/v1beta1

当我尝试 cd src && go mod tidy我在上面得到了那个错误。另外,如果有人知道我什至应该在 src 目录上方有一个 go.mod 吗?

感谢任何人可以提供的任何帮助。这令人抓狂。

最佳答案

您的 go.mod必须声明模块路径/名称,通常是这样的:

module test.go

然后所有 import您的代码中的 s 将与此相关。当您导入与声明的模块名称相关的内容时, go工具会自动从本地正确的地方提取代码。

不确定您的 src 在哪里不过开始起作用了……文件夹中的所有内容 src ?见 this post and accompanying code对于一个完整的例子,你可以开始。

关于go - 使用具有典型目录结构的 go 模块,似乎无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62417456/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com