我知道应该避免本地进口,但是在这种情况下需要特殊情况。这是一个私有存储库,go get ./...由于服务器上缺少私有密钥,当与绝对URL一起使用时,heroku buildpack在该阶段失败。现在我得到这个错误local import ".." in non-local package。所有导入路径都已更改为本地版本,那么还有什么可以使程序包成为“非本地”文件呢?我该如何解决?
3 回答
炎炎设计
TA贡献1808条经验 获得超4个赞
我修好了它。问题是root软件包在中$GOPATH/src/<host>/<user>/<package>
。一旦我将软件包移至~/Git/<package>
错误处,错误就消失了(因此,将其“本地化”)。
猛跑小猪
TA贡献1858条经验 获得超8个赞
彼得所以是对的。查看该错误消息的生成代码,如果所加载的软件包不是以/ ./或../开头,而是导入了该错误,则会发生该错误。就您的问题而言,可能是由多种原因引起的。
go get 导致构建一个使用非本地路径引用的依赖包,然后依次加载本地路径。
您将获得包含本地导入的非本地包路径。
我认为也许您应该只解决服务器上丢失的私钥问题,而不要尝试使用本地路径。
要正确调试,我需要知道您所获得的确切软件包以及它们的传递依存关系。
最后一件事,为什么要使用go get进行本地路径安装(即go get ./...
)?在这种情况下,通常需要安装或进行构建。
- 3 回答
- 0 关注
- 256 浏览
添加回答
举报
0/150
提交
取消