Golang运行报错找不到包:package xxx is not in GOROOT的解决过程
作者:尚墨1111 发布时间:2024-05-05 09:32:25
1 区分几个路径
GOROOT
:Golang的安装路径,安装之后就默认自带了GOPATH
:Golang的工作目录
go_project // (go_project为 GOPATH目录)
– bin // golang编译可执行文件存放路径
– pkg // golang编译包时,生成的.a文件存放路径
– src // 源码路径。按照golang默认约定,go run,go install等命令的当前工作路径
出错:
导包运行时出错:package util is not in GOROOT (D:\MyApp\golang\src\util)
只搜索GOROOT环境,而不搜索GOPATH路径
分析:
包管理的问题,import 包,会对应的出现包管理的问题,使用GOPATH
问题
代码开发必须在go path src目录下,不然,就有问题。
依赖手动管理
依赖包没有版本可言
应对包管理:go mod——GO111MODULE
,go modules 是 golang 1.11 新加的特性。
模块是相关Go包的集合。modules是源代码交换和版本控制的单元。 go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。
2 GO111MODULE
GO111MODULE
有三个值:off, on和auto(默认值
)
GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。依赖包的存放位置变更为$GOPATH/pkg,允许同一个package多个版本并存,且多个项目可以共享缓存的 module
GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:
当前目录在GOPATH/src之外且该目录包含go.mod文件
当前文件在包含go.mod文件的目录下面。
参看文章:go mod使用
3 解决方案
命令行使用go env
查看环境,明显GO11MODULE没有设定
方案一:关闭 go mod 模式
用 gopath 模式引入包从src目录下开始引入,需要
go env -w GO111MODULE=off
方案二:使用go mod 模式
go env -w GO111MODULE=on
并且在目录下执行 go mod init
目录下产生两个文件
go.mod
go.sum
否则就会报错找不到包
参考:package ‘xxx’ is not in GOROOT
来源:https://blog.csdn.net/qq_42647903/article/details/123253707
猜你喜欢
- 数据采集XPath,XML路径语言的简称。XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某
- 一:目录操作 首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而
- CSS换肤技术一直是一个比较热门的话题,通过给HTML文档不同的CSS样式应用,实现完全不同或风格迥异的页面效果。这样的技术一直为大家所津津
- 内容概要:print() 是一个常用函数。那么,您是否注意过,print() 会在显示当前语句后换行。如果遇到需要连续显示、不换行的情况,比
- MySql 这个数据库绝对是适合dba级的高手去玩的,一般做一点1万篇新闻的小型系统怎么写都可以,用xx框架可以实现快速开发。可是数据量到了
- Microsoft SQL Server 7.0安全问题Microsoft Corporation【「Microsoft SQL Serve
- 可以使用Python的email模块来实现带有附件的邮件的发送。SMTP (Simple Mail Transfer Protocol)邮件
- 本文实例为大家分享了Python PyQt4实现QQ抽屉效果展示的具体代码,供大家参考,具体内容如下先看截图效果:主要是使用了QT的QTab
- 实现效果在网站页面上,点击某个超链接,页面跳转到某个位置,跳转过程有一个动画滚动效果,这是一种比较酷的体验。这种效果是如何实现的呢,本文通过
- 1、问题描述在使用v-model指令实现输入框数据双向绑定,输入值时对应的这个变量的值也随着变化;但是这里不允许使用v-model,需要写一
- 前言因为昨天重新研究了下python的打包方法,今天一番准备把之前写的一个pdf合并软件重新整理一下,打包出来。但在打包的过程中仍然遇到了一
- 数据去重可以使用duplicated()和drop_duplicates()两个方法。DataFrame.duplicated(subset
- 前言相信我,只要记住本文的 7️⃣ 步口诀,就能彻底掌握 JS 中的 this 指向。先念口诀:箭头函数、new、bind、apply 和
- 在开发过程中经常碰到在本地环境无法完成联调测试的情况,必须到统一的联机环境对接其他系统测试。往往是出现了BUG难以查找数据记录及时定位到错误
- 一.图像漫水填充图像漫水填充(FloodFill)是指用一种特定的颜色填充联通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效
- 需求是小程序做头部做导航分类的效果顶部用 scroll-view 组件横向滚动,类似tab选项卡的效果,内容用类似模板方式引用,可重复利用&
- 当页面中引用template.js文件之后,脚本将创建一个TrimPath对象供你使用。 parseDO
- 本文程序针对Python选课系统进行开发,供大家参考,具体内容如下角色:学校、学员、课程、讲师要求:1. 创建北京、上海 2 所学校2. 创
- 背景:在需求开发过程中,有的接口返回的结果中有很多字段需要展示到页面上。通常可以将这些字段在.vue文件中封装为计算属性,或者重新将对应字段
- 你在使用pandas处理DataFrame中是否遇到过如下这类问题?我们需要删除某一列所有元素中含有固定字符元素所在的行,比如下面的例子:&