我使用版本化的Go命令来管理我的供应商,但是当我运行go build时,它找不到我的本地包
我已经在我的go.mod中设置了模块根,但是我仍然得到了一个错误
build :无法找到路径模块
工程拱门就像
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 (
...
)但是没有找到其他两个包,我得到了与上面相同的错误。
是我错过了什么,还是我提供的模块路径必须更改?
发布于 2018-10-02 18:10:45
我假设您导入的本地包是错误的,请遵循我的示例。
这是我的go.mod (例如,在GOPATH之外,我导入了mux ):
module example
require github.com/gorilla/mux v1.6.2 // indirect顺便说一下,您可以创建一个空的go.mod__,go将为您找到并更新go.mod。
The 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
https://stackoverflow.com/questions/52612037
复制相似问题