• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

解决$GOPATH/go.mod exists but should not

武飞扬头像
鑫人
帮助1

解决报错$GOPATH/go.mod exists but should not

今天又一次配环境,终于解决了go mod和GOPATH之间的冲突关系了

解决

我们刚装上go和go的ide例如goland,需要配置go的环境。此时我们需要注意,在go1.11版本之后,引入了go mod来统一对包进行管理,在此之前用的是gopath。相信大部分人现在装的都是1.11以上版本。

重点来了:我在网上找了很久没有找到相关文章,但是在我的实践之下我发现了go mod和gopath不能是同一个文件夹。

需求也来了,我不想每次go get的包都放在c盘,因为c盘是默认的gopath,gopath路径又是存放包的路径。但是我一设置了gopath之后go mod又不能用了。此时应该怎么解决呢?

也就是说,有go mod的地方不能是GOPATH。

我们只需要在别的盘新建一个文件夹专门用作gopath存每次go get的包,有两个方法,1.在环境变量中设置GOPATH,路径就是你新建的那个文件夹。2.cmd输入go env -w GOPATH=刚刚的文件夹路径。如图
这个叫做GOPATH的文件夹就是我新建的。学新通
只需要设置这一处的GOPATH,goland中的setting里面的都可以全部清空。设置完了之后,就可以正常使用了,在你的项目目录下输入go mod init xxx,然后就生成了一个go mod文件,然后go get -u -v 谷歌.golang.org/grpc试一下
学新通
成功导入包,到此就结束了。

go get的时候出现错误dial tcp:xxx

另外,如果go get 出现错误dial tcp:xxx那就是代理出现问题,被防火墙挡了,换个国内的代理地址就行在终端输入go env -w GOPROXY=你的国内代理地址,设置完了之后go env查看一下成功没有
学新通
我改成了这个就解决了错误

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfbbee
系列文章
更多 icon
同类精品
更多 icon
继续加载