在没有 GOPATH 的情况下导入 Go 本地包
在没有 GOPATH 的情况下,导入本地包需要超越传统方法的解决方案。根据所使用的 Go 版本,有多种选项可用。
使用 Vgo(Go 1.11 及更高版本)
Vgo 是 Go 版本 1.11 及更高版本推荐的依赖管理器。它利用允许自动依赖性解析和版本管理的“模块”系统。要使用 vgo:
export GO111MODULE=on # Enable Go modules go mod init # Initialize the module go mod vendor # Download and install dependencies go build # Build the project
使用 Vendor(Go 1.6 到 Go 1.10)
Vendor 是一种手动依赖项管理技术,涉及在其中创建“供应商”目录该项目。外部包放在这个目录中,编译器在编译时会优先考虑它们。
使用手动导入(1.6 之前的 Go 版本)
对于早期的 Go 版本,手动导入可以通过以下方式实现:
目录结构
手动导入,项目目录结构应类似于以下:
myproject/ ├── binary1.go ├── binary2.go ├── package1/ │ └── package1.go └── package2.go
结论
不使用 GOPATH 导入本地包的具体方法取决于所使用的 Go 版本。虽然可以使用子文件夹直接导入,但 Go 模块 (vgo) 或供应商功能提供了更高级的依赖关系管理功能。
以上是如果没有GOPATH,如何在Go中导入本地包?的详细内容。更多信息请关注PHP中文网其他相关文章!