尝试在 Go 模块项目中导入本地包可能会带来挑战。考虑一个项目结构,包存储在 gopath 之外:
/ - /platform - platform.go - main.go - go.mod
当 platform.go 中定义的平台包和 main.go 尝试导入平台包时,您可能会遇到错误:
cannot find module for path platform
为了解决这个问题,我们导航了 Go 模块的功能。
在 Go 11 中,模块提供了组织和管理包的方法。根据包之间的关系,可以使用两种方法:
同一项目:
如果包驻留在同一项目中,对 go.mod 文件进行简单修改就足够了:
module github.com/userName/moduleName import "github.com/userName/moduleName/platform"
单独的模块:
如果包被分成不同的模块中,可以使用替换指令:
module github.com/userName/mainModule require "github.com/userName/otherModule" v0.0.0 replace "github.com/userName/otherModule" v0.0.0 => "local physical path to the otherModule"
在 main.go 中,使用以下格式从本地模块导入特定包:
import "github.com/userName/otherModule/platform"
通过利用这些技术,您可以无缝访问 Go 模块项目中的本地包。
以上是如何在我的Go Module项目中导入本地包?的详细内容。更多信息请关注PHP中文网其他相关文章!