【发布时间】:2019-11-24 17:53:10
【问题描述】:
我从本地项目(Go 模块)导入包失败。以下是我正在尝试的简介:
我像这样创建了一个 Go 模块包:
$ cd
$ mkdir mymodule
$ cd mymodule
$ go mod init github.com/Company/mymodule
然后我在mymodule下面添加了hello.go,有点功能
// mymodule/hello.go
package mymodule
func sayHello() string {
return "Hello"
}
go build 成功。
请注意,该模块尚未推送到 github 存储库。在推送到 github 之前,我想使用(并且可能测试)mymodule。所以我创建了另一个包,如下所示:
$ cd
$ mkdir test
$ cd test
$ go mod init github.com/Company/test
然后,在test 目录下创建了一个新文件test.go,并在其中尝试导入mymodule,如下所示:
// test/test.go
import (
"fmt"
"github.com/Company/mymodule"
)
func testMyModule() {
fmt.Println(mymodule.sayHello())
}
但是test 的go build 失败并出现以下错误。什么给了?
cannot load github.com/Company/mymodule: cannot find module providing package github.com/Company/mymodule
【问题讨论】:
-
永远不要调用包或文件“测试”。出口你的东西。即使没有模块错误,您的代码也永远不会工作。
标签: go go-modules