解决 Go Build 中的“找不到包”错误
问题:
尽管正确设置 $GOPATH,“go build”和“go run”无法识别自定义
原因:
当自定义包的源文件未位于与包本身同名的目录中时,就会出现此问题。 “go build”和“go install”优先考虑匹配目录而不是源文件。
解决方案:
- **确保有效的 $GOPATH:** 设置 $ GOPATH 到有效目录,例如“export GOPATH=$HOME/go”。
-
重新定位源file: 将自定义源文件(例如 foobar.go)移动到 $GOPATH/src/foobar/foobar.go。
建议的附加步骤:
-
将 $GOPATH/bin 添加到 $PATH:通过添加以下行将 $GOPATH/bin 附加到 $PATH: PATH="$GOPATH/bin:$PATH"
-
将 main.go 移至子文件夹: 放置 main.go在 $GOPATH/src 的子文件夹中,例如 $GOPATH/src/test。
-
使用 go install: 执行“go install test”在 $GOPATH/bin 中生成可执行文件。从终端调用 test 现在将运行可执行文件。
以上是为什么即使设置了 $GOPATH,也无法找到我的包?的详细内容。更多信息请关注PHP中文网其他相关文章!