当前位置:网站首页>go mode tidy出现报错go warning “all“ matched no packages
go mode tidy出现报错go warning “all“ matched no packages
2022-08-02 00:16:00 【m0_67393413】
查到的可能原因:
1.本地的go编译器版本
2. go module构建模式未开启
3. 是否在go.mod所在目录执行的go mod tidy
解析
一开始发布的时候 一开始go发布的时候是没有包管理的
go get命令会根据路径,把相应的模块获取并保存$GOPATH/src
也没有版本的概念,master
就代表稳定的版本
后来引进了Go Module 在GO1.11引入,不再是只有一个版本了,利用go.mod记录每个包的版本于是问题就来了
到底是按照$GOPATH的规则走还是按照Go Module来呢?
GO111MODULE是一个环境变量,用于改变go引入包的方式
Go1.11和Go1.12
- GO111MODULE=on
这个设置会强迫使用Go modules,即使项目在你的GOPATH里。需要go.mod才能工作。- GO111MOUDLE=off,使用GOPATH的方式,即使在GOPATH外边
- GO111MODULE=auto,默认设置。
当你不在GOPATH内的时候,就类似GO111MODULE=on
当你在GOPATH内的时候,即使存在go.mod,也是GO111MODULE=off的效果
当你在GOPATH内,然后你需要GO modules来做一些操作的时候(如go get一个特定的版本),那就需要这么干:
GO111MODULE=on go get xxxxxGo 1.13,auto的意思改变了: 如果找到了go.mod,或者在没有go.mod,但是在GOPATH外,那效果就是GO111MODULE=on(强迫使用go module)。所以你可以把所有的仓库都保存在你的GOPATH
why
没有go.mod的时候,在GOPATH里,效果就是GO111MODULE=off(获取包并放在$GOPATH/src/)
检查
1.本地的go编译器版本
项目版本是1.16,这里有go.mod默认为GO111MODULE=on
2.go module构建模式未开启
保险起见
win
set GO111MODULE=auto
linux
export GO111MODULE=auto
果然没有用
3. 是否在go.mod所在目录执行的go mod tidy
发现是第三个原因
应该在douyinService下执行而不是DouYin
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
辨析内存函数memset、memcmp、memmove以及memcpy
管理基础知识12
JS中对事件代理的理解及其应用场景
JSP 如何获取request对象中的路径信息呢?
Transient Stability Distributed Control of Power System with External Energy Storage
面试:简单介绍你参与的一个项目
poker question
ROS dynamic parameters
js中内存泄漏的几种情况
JS中清空数组的方法
nodeJs--mime模块
What does the errorPage attribute of the JSP page directive do?
管理基础知识14
MySQL常用语句整理
2022/08/01 Study Notes (day21) Generics and Enums
基于相关性变量筛选偏最小二乘回归的多维相关时间序列建模方法
管理基础知识15
How does JSP use request to get the real IP of the current visitor?
哪里有期货开户的正规途径?
BGP first experiment