我正在使用版本化的Go命令来管理我的供应商,一切正常,但是运行go build
时找不到本地软件包
我在我的内部设置了模块根目录go.mod
,仍然出现错误
build 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 (
...
)
我关注了https://research.swtch.com/vgo-tour,但是我不明白为什么这不起作用。
我的Go版本是1.11
并且当我在外面尝试时该foo
文件夹在我的文件夹中GOPATH
,GOPATH
这甚至无法正常工作。
我唯一使它起作用的时间是
module github.com/username/package1
require (
...
)
但找不到其他2个软件包,并且出现与上述相同的错误。
我错过了什么吗?是否必须更改提供的模块路径?
我假设您导入的本地软件包错误,请按照我的示例进行操作。
有我的go.mod
(例如GOPATH
,在之外,我已经导入mux
):
module example
require github.com/gorilla/mux v1.6.2 // indirect
顺便说一句,您可以创建一个空的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
你可以在这里找到更多的解释 Modules
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句