在 Go 中导入本地包
导入本地包是 Go 中组织和模块化代码的一个重要方面。但是,当将本地包移动到其他位置时,可能会出现错误。本文解决了两个常见问题,并提供了在 Go 中导入本地包的解决方案。
错误 1:非本地包中的本地导入
遇到错误消息“ local import "./common" in non-local package" 确保导入语句的语法正确。 Go 认为导入的起始路径是 $HOME/go/src。这意味着 import 语句应该包含相对于 $HOME/go/src 的本地包的路径。
在这种情况下,本地包位于 /home/me/go/src/myapp。要解决该错误,请按如下所示更新导入语句:
import ( "log" "net/http" "myapp/common" "myapp/routers" )
错误 2:找不到包
收到错误“找不到包”时,请验证Go 导入路径配置正确。默认情况下,Go 在 $GOROOT 和 $GOPATH 中查找包。导入路径应与这些目录中本地包的相对路径匹配。
在这种情况下,本地包不位于 $GOROOT 或 $GOPATH 中。要解决此问题,请通过将环境变量 GOPATH 设置为包含 /home/me/go/src 来配置 Go 工作区以包含本地包目录。您可以通过将以下行添加到 shell 配置文件(例如 .bashrc)来完成此操作:
export GOPATH=$GOPATH:/home/me/go/src
以上是移动本地 Go 包时如何修复导入错误?的详细内容。更多信息请关注PHP中文网其他相关文章!