goland 项目gopath的问题
默认的GOPATH
路径是~/gopath
现在建了一个项目的工作目录(里面每个项目使用go mod
管理包),不在默认的GOPATH
下:~/goWorkSpace
项目的目录结构:
goWorkSpace
--bin
--pkg
--src
--common 公共函数目录
--project1 项目1
--go.mod
--main.go
--project2 项目2
--go.mod
--main.go
在goland
中我这么设置,将goWorkSpace
目录设置为Project GOPATH
,但是仍有问题
存在的问题:goland
提示可以导入的包
但导入包后飘红:
提示错误:common/proto/base: package common/proto/base is not in GOROOT (/usr/local/go/src/common/proto/base)
因为做项目时会同时编辑多个main包,也不想把每个main包都开一个新的 goland窗口,这样来回切换太麻烦。这个问题能解决吗?
如果关闭go mod
,导入common
包正常了,其它包就会挂掉。但go mod
是个好东西啊,能解决墙
的问题,关闭它就得不偿失了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
解决了,使用
go module
的replace
方案:该方案最好还是要把公共调用的包上传到对应的仓库中,如果换了个电脑可以直接从仓库拉取这个包下来继续使用。
common包的
go.mod
:编辑project1的
go.mod
文件:使用