Go语言分包编程
刚刚接触了Go,在网上学习Go的教程时遇到了问题:
文中描述配置GOPATH环境变量,并在该文件下创建三个子目录:
1.src存放源码
2.pkg编译后生成的文件
3.bin编译后生成的可执行文件
按照步骤完成了上述配置和目录的创建,并在src目录下创建自己的应用包目录,在应用包目录下写入自己需要的go方法,之后在应用包目录下使用“ go install ”命令或任意目录下使用“ go install 包名 ”进行安装,此时出现问题。
问题描述
使用“go install”命令的执行结果如下:
go: go.mod file not found in current directory or any parent directory; see 'go help modules'
使用“go install 包名”方式安装的执行结果如下:
-
go: 'go install' requires a version when current directory is not in a module
-
Try 'go install mymath@latest' to install the latest version
即Go无法正确找到GOPATH下的应用包
解决方案
问题出现后有尝试使用“go build mymath(包名)”未果,执行结果如下:
package mymath is not in GOROOT (/usr/local/go/src/mymath)
基于此报错,找到了问题的原因和解决方案
1.问题原因:执行“go env”命令可以发现这样一条信息
GO111MODULE=""
问题关键就在于此,在此项值可为“on、off、auto(空)”,当此项为“on”或空时,会开启模块支持,在此场景下将会忽略 GOPATH配置
2.解决方案:执行“ go env -w GO111MODULE="off" ”命令
修改完配置后再次尝试“go install”,无输出信息,进入“$GOPATH/pkg/linux_amd64/”目录下发现产生了对应的 .a文件,至此问题解决。
参考文献
GO引入自己的包运行时出现package 包路径 is not in GOROOT 问题
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhhjbckf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22