首页 > 其他分享 >goland编辑器编译的时候报错package xxx is not in GOROOT的原因排查

goland编辑器编译的时候报错package xxx is not in GOROOT的原因排查

时间:2023-09-27 12:01:53浏览次数:37  
标签:package GOROOT server init 报错 go 目录 mod

先介绍下,我的目录部署情况

1、GOROOT=C:\Program Files\Go(我的golang环境装在c盘的)

2、GOPATH=E:\Go(项目目录我放在E盘的)

3、GO111MODULE=auto(默认值,没有改过)

4、GOVERSION=go1.20.6(我的golang版本)

5、项目结构,遵循官方推荐的方式

E:\Go

——bin

——pkg

——src

 6、本次需要打包的项目是src/tcp/chatroom/server,直接选中server目录,右键有个run命令,执行即可

 7、哦豁,报错了

 8、打包配置如下

 9、编辑器的设置,就只有默认的GOROOT和GOPATH

 10、错误分析,这个错误从字面意思看,就是我要打的包,编辑器从GOROOT目录下面去查找了,但是我的包并没有在GOROOT里面,而是在GOPATH下面,那肯定找不到咯,好吧,意思明白了,但是要怎么解决呢?

11、上网查资料吧,肯定有人遇到过这个问题,好一顿查,有说包名的问题,有说GO111MODULE的问题,遗憾的是,我都试过了,还是没能解决我的问题

12、继续冷静分析问题,检查代码和目录,我的项目里面用到一个第三方的包(go-sql-driver的mysql),引入包,我使用的go mod方式

 13、打开go.mod文件,乍看没啥问题,其实问题就出在module server这里

 14、回想我的操作步骤

15、执行完步骤14,就生成了那个go.mod文件

16、我习惯在go mod init 后面加上项目的目录,如果这个项目直接在src目录下第一层,那是没有问题的,之前就是这么干的,都是正常的,但是这次目录结构不一样,目录为:src/tcp/chatroom/server,所以执行go mod init server这个就有问题了

17、正确的应该是执行,go mod init 后面不带任何东西,系统会自动根据当前目录去匹配的,生成的go.mod文件就是这样了,和之前的比较,发现这里的名字是不一样的

 18、重新执行步骤6的打包操作,哇塞,终于成功了!

 总结:go mod init的时候,注意2点

1、进入到指定的项目目录下,直接执行go mod init

2、执行go mod init 项目目录(从GOPATH/src开始,例如我的就是:tcp/chatroom/server)

两种方式都可以,但是要用对哦!

标签:package,GOROOT,server,init,报错,go,目录,mod
From: https://www.cnblogs.com/firstlady/p/17732371.html

相关文章

  • UnityGLTF插件加载模型时,emissiveFactor解析报错
    项目中遇到使用 UnityGLTF插件加载GLTF模型时报错,如下图: 根据报错信息,我们找到GLTF文件中,第[五]个材质的描述:{"name":"11_-_Default木质长廊1.bmp_alpha","occlusionTexture":{"index":0,"texCoord":1},......
  • playwright python环境运行报错 ImportError: DLL load failed
    网上建议网上好多文章介绍playwright的环境搭建,用以下两条语句即可完成pipinstallplaywrightplaywrightinstall安装完毕后,尝试执行一段经典的pythondemofromplaywright.sync_apiimportsync_playwrightwithsync_playwright()asp:browser=p.chromium.launch()page......
  • 视频融合平台EasyCVR接入华为ivs3800平台提示400报错的原因及解决方法
    青犀视频平台的开源EasyDarwin视频监控解决方案EasyCVR在复杂网络环境中表现出色。它能够将分散的各类视频资源集中管理,实现统一汇聚和整合。EasyCVR支持多种画面窗口播放模式,包括1、4、9、16个画面窗口,同时可以播放多路视频流,并且支持视频定时轮播功能。此外,EasyCVR还兼容多种播......
  • VUE 3.0使用Tinymce编辑器JS报错解决
    接上篇文章写到的Tinymce编辑器,突然发现了,多点击几次编辑弹框内容就会变空白,而且JS报错了。如下图: 点开这个js就能发现错误的地方了改这两个文件就可以了,代码如下:if(typeofe.content!=='string'){e.content=e.content.innerHTML;}    这样......
  • Qt报错: variable has incomplete typte ‘QJsonObject’
    Qt常见运行失败的记录1.变量声明未实例化变量在头文件声明了,没new出来直接使用,导致程序运行崩溃2.定义变量时候下面出行红线,出现variblehasincompletetype‘QTextStream’variblehasincompletetype'QTextStream未添加QTextStream头文件3.Qt信号与槽连接失败的几......
  • odoo xml文件中&出现报错问题:Unescaped & or nonterminated character/entity referen
    解决方式1:将“&”改写为“&amp;” 解决方案2:使用CDATA区:当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低,这时应该使用CDATA段。在CDATA段中出现的“ < ”、“ > ”、“ " ”、“ ’ ”、“&”都无需使用转义字符,但CDATA段中不能包含“]]>”,......
  • 转!!java ssh远程服务器报错 解决方法 Key exchange was not finished, connection is c
    转自:https://blog.csdn.net/weixin_45266856/article/details/129754122是ssh中的key交换算法不兼容导致 ssh报错解决:vi/etc/ssh/sshd_configKexAlgorithmsdiffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-gro......
  • ls报错修改环境变量
    问题:系统找不到环境变量在终端输入:ls后显示:root@wei:/etc#lsCommand'ls'isavailablein'/bin/ls'Thecommandcouldnotbelocatedbecause'/bin'isnotincludedinthePATHenvironmentvariable.ls:commandnotfound解决办法:直接在终端输入:expor......
  • 根据类名查找元素时 因为类名包含空格导致报错
    #导包importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromtimeimportsleep#引用谷歌驱动driver=webdriver.Chrome()driver.get(r"D:\python-pro\baseapitest\xpath\html.html")#输入密码driver.find_element(By.CLA......
  • Mac故障排查系列:redis删除key报错MISCONF Redis is configured to save RDB snapshots
    背景:Mac下使用AnotherRedisDesktopManager客户端,删除key,遇到报错:MISCONFRedisisconfiguredtosaveRDBsnapshots,butit'scurrentlyunabletopersisttodisk.Commandsthatmaymodifythedatasetaredisabled,becausethisinstanceisconfiguredtoreporte......