main.go当在之外使用Go模块(go版本> = 1.11)时,找不到在本地包中分解出某些代码的方法$GOPATH。
我没有导入任何需要包含的外部依赖项go.mod,我只是想在本地组织此Go模块的源代码。
文件main.go:
package main
// this import does not work
import "./stuff"
func main() {
stuff.PrintBaz()
}
Run Code Online (Sandbox Code Playgroud)
该文件./stuff/bar.go(假装为本地软件包):
package stuff
import "log"
type Bar struct {
Baz int
}
func PrintBaz() {
baz := Bar{42}
log.Printf("Bar struct: %v", baz)
}
Run Code Online (Sandbox Code Playgroud)
文件go.mod(命令go mod init foo):
module foo
go 1.12
Run Code Online (Sandbox Code Playgroud)
执行时go run main.go:
import "./stuff",那么我明白了build command-line-arguments: cannot find module for path …