使用VGO和Go.mod找不到Go模块
我正在使用版本化的Go命令来管理我的供应商,一切正常,但当我运行使用VGO和Go.mod找不到Go模块,go,vgo,Go,Vgo,我正在使用版本化的Go命令来管理我的供应商,一切正常,但当我运行Go build时,它找不到我的本地软件包 我已经在我的go.mod中设置了模块根目录,但仍然收到一个错误 生成foo:找不到路径的模块 这个项目就像 foo/ |__src/github.com/username/package1/package1.go |__src/github.com/username/package2/package2.go |__src/github.com/username/package3/packa
Go build
时,它找不到我的本地软件包
我已经在我的go.mod
中设置了模块根目录,但仍然收到一个错误
生成foo:找不到路径的模块
这个项目就像
foo/
|__src/github.com/username/package1/package1.go
|__src/github.com/username/package2/package2.go
|__src/github.com/username/package3/package3.go
|__main.go
|__go.mod
|__go.sum
所以我的go.mod
看起来像
module foo
require (
...
)
我遵循了,但我不明白为什么这不起作用
我的Go版本是1.11
,当我在GOPATH
之外尝试时,foo
文件夹在我的GOPATH
内,这甚至不起作用
我唯一一次让它工作就是做
module github.com/username/package1
require (
...
)
但是没有找到另外两个包,我得到了与上面相同的错误
我是否遗漏了某些内容,或者我提供的模块路径必须更改?我假设您导入的本地包是错误的,请按照我的示例操作 这是我的
go.mod
(例如,在GOPATH
之外,我导入了mux
):
顺便说一句,您可以创建一个空的go.mod
,go
将为您找到并更新您的go.mod
main.go
:
package main
import (
_ "example/src/foo" // local package
"fmt"
_ "github.com/gorilla/mux" // example import
)
func main() {
fmt.Println("foo")
}
foo
本地包:
package foo
import "fmt"
func bar() {
fmt.Println("foo")
}
模块树:
├── go.mod
├── go.sum
├── main.go
└── src
└── foo
└── foo.go
你可以在这里找到更多的解释
├── go.mod
├── go.sum
├── main.go
└── src
└── foo
└── foo.go