我正在试用 Go 的新模块系统,但在访问本地包时遇到问题。以下项目位于我桌面上的一个文件夹中,位于我的 gopath 之外。
我的项目结构如下:
/
- /platform
- platform.go
- main.go
- go.mod
// platform.go
package platform
import "fmt"
func Print() {
fmt.Println("Hi")
}
// main.go
package main
import "platform"
func main() {
platform.Print()
}
go build main.go
告诉我
cannot find module for path platform
原文由 David Alsh 发布,翻译遵循 CC BY-SA 4.0 许可协议
我强烈建议您使用 go 工具链,它开箱即用地解决了这些问题。带有 vscode-go 插件的 Visual Studio Code 非常有用。
这里的问题是 Go 在 import 语句中需要相对于您的
$GOPATH/src
或module
的相对路径。根据您在GOPATH
中的位置,导入路径也应该包括它。在这种情况下,import 语句必须包含 go 模块路径go.mod
路径
假设您的项目位于此处:
您的导入路径应该是:
VGO
假设你的 go.mod 文件是:
您的导入路径应该是: