当我在其他文件中使用外部包时,go mod “找不到包”
go mod " cannot find package" when I use the external package in the other file
当我使用 go mod 并且我只有一个 .go
文件时一切正常并且 go mod
可以下载外部包并使用它但是当我使用外部包时在另一个文件中(不是 main.go 文件)我收到此错误(当 运行 go run main.go
时)
test/test.go:4:2: cannot find package
我的项目结构是这样的:
├── go.mod
├── go.sum
├── main.go
└── test
└── test.go
这是我的文件:
main.go
package main
import (
"./test"
)
func main() {
test.Hello()
}
test.go
package test
import (
"github.com/mehrdadep/tgomod"
)
func Hello() {
tgomod.Print()
}
go.mod
module test
go 1.15
require github.com/mehrdadep/tgomod v1.0.1
go.sum
github.com/mehrdadep/tgomod v1.0.1 h1:4lxx7JE0pySHLbH52sidkkKBjJQFC8ZZej3zEX/RTWc=
github.com/mehrdadep/tgomod v1.0.1/go.mod h1:YIkzdF7Sf9nd+eC0ySxL+gGbsew7LvUh9vP3p7yzTi4=
谢谢
我改
import (
"./test"
)
至
import (
"test/test"
)
而且有效
所以我发现你的路径应该基于你的模块名称,然后将你的目录添加到它
在 test/test
我的第一个测试是我的模块名称,第二个是我的目录名称
当我使用 go mod 并且我只有一个 .go
文件时一切正常并且 go mod
可以下载外部包并使用它但是当我使用外部包时在另一个文件中(不是 main.go 文件)我收到此错误(当 运行 go run main.go
时)
test/test.go:4:2: cannot find package
我的项目结构是这样的:
├── go.mod
├── go.sum
├── main.go
└── test
└── test.go
这是我的文件:
main.go
package main
import (
"./test"
)
func main() {
test.Hello()
}
test.go
package test
import (
"github.com/mehrdadep/tgomod"
)
func Hello() {
tgomod.Print()
}
go.mod
module test
go 1.15
require github.com/mehrdadep/tgomod v1.0.1
go.sum
github.com/mehrdadep/tgomod v1.0.1 h1:4lxx7JE0pySHLbH52sidkkKBjJQFC8ZZej3zEX/RTWc=
github.com/mehrdadep/tgomod v1.0.1/go.mod h1:YIkzdF7Sf9nd+eC0ySxL+gGbsew7LvUh9vP3p7yzTi4=
谢谢
我改
import (
"./test"
)
至
import (
"test/test"
)
而且有效
所以我发现你的路径应该基于你的模块名称,然后将你的目录添加到它
在 test/test
我的第一个测试是我的模块名称,第二个是我的目录名称