当我尝试使用vet我的 Go 代码并且没有要在范围内导入的包时,我通常会收到如下消息:foo.go:12:2: cannot find package "api/test/metadata/v1" in any of: /golang-root/src/api/test/metadata/v1 (from $GOROOT) /path/to/home/dir/foo/bar/baz/src/api/test/metadata/v1 (from $GOPATH) /path/to/home/dir/foo/bar/src/config/src/api/test/metadata/v1 /path/to/home/dir/foo/bar/src/platform/quux/src/api/test/metadata/v1我可能是错的,但看起来这是说后两行是从$GOPATH/以外的东西绘制的$GOROOT。不过,并没有说明它们来自哪里。那些来自哪里?(我希望它看的地方是/path/to/home/dir/foo/bar/src/config/ go /api/test/metadata/v1,因为它是一个编译的协议缓冲区。但是回答这个是次要的试图了解发生了什么。)
1 回答
跃然一笑
TA贡献1826条经验 获得超6个赞
这完全是来自 Go 的措辞不当的错误消息的问题。行(from $GOPATH)以后的所有条目都来自$GOPATH. 没有其他来源。(我已经在 golang 项目中提出了这个问题,并提交了一个 PR 以使其更有帮助。)
- 1 回答
- 0 关注
- 134 浏览
添加回答
举报
0/150
提交
取消
