我有以下目录结构
~/test
| lala
- lala.go
- main.go
以及内容:
main.go:
package main
import (
"fmt"
"./lala"
_ "github.com/lib/pq"
)
func main() {
fmt.Println(lala.asd)
}
lala.go:
package lala
import (
_ "github.com/lib/pq"
"github.com/gorilla/securecookie"
)
func asd() string {
return string(securecookie.GenerateRandomKey(32))
}
然后我执行:
~/test$ go mod init asdasd.com/asdasd
~/test$ go mod tidy
~/test$ go run main.go
但我明白了
lala/lala.go:6:2: cannot find package
那一行是带有securecookie的那一行,它是一个远程路径。
我试过
go mod init && go mod tidy
在 lala 目录中,但错误是相同的。
最佳答案
不要在导入中使用相对路径。您的导入路径应以项目目录(src 文件夹下的目录)开头。
改变这个
import "./lala"
到
import "asdasd.com/asdasd/lala"
关于go-run 在相对子模块上给我一个错误 `cannot find package`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62246683/