解决Goland 提示 Unresolved reference 错误的问题

之前一直正常的项目,莫名其妙的 database/sql 包下的方法、结构体等等IDE都无法识别,出现一堆Unresolved reference错误提示,但包导入路径可以正确定位,而且项目运行也正常,其他包都正常,另一个项目下同样使用sql包也正常。

折腾半天都没用,不想重建项目重装IDE太麻烦,最后尝试最简单的升级到 golang 1.12.5 重启Goland后就正常了,应该和版本没有关系,重装下golang就行,估计是Goland文件索引的问题,重装golang后会重建索引就能正常识别了

import 正常,能正确识别路径,但不能识别 database/sql 包中的任何方法、结构体等。。。但使用其他包却都正常,奇怪

升级golang后IDE应该是重建了索引,现在就一切正常了

补充:Goland 导入自定义包问题解决

今天在学习Go的面向对象时,想测试Go中类属性、方法的公私有问题,在另外定义一个包后,发现在main函数中无法导入。

在网上查了很多博客都没能解决问题,目录页照着修改了 ,什么GOPATH也修改了,参照很多文章,他们的解决方法似乎都不太适合我。。。。

经过头皮发麻,差点爆锤电脑后,终于综合多篇文章解决问题!

这里介绍一下我自己的解决方法

1.设置中启用“Enable Go Modules”

Setting中设置启用go module(其他go path之类的无需设置,使用默认),路径:Go——Go Modules,勾选Enable Go Modules

2.在项目跟目录下执行go mod init

在编辑器左下方找到“Terminal”选项卡,进入后执行 go mod init命令

如图,会提示正确的命令使用方法。根据我的情况执行如下命令:

这时候项目目录中会创建go.mod文件

然后,我尝试导入自定义包,发现问题并没有解决。

并出现新的问题:

对该错误的解释:开启模块支持后,并不能与$GOPATH共存,所以需要把项目从$GOPATH中移出即可

也就是说,开启模块支持后我们需要确认Project GOPATH 是空的,即将其中的项删除。

3.确认并清除Project GOPATH

Global GOPATH 改不改、有没有并没什么影响。

说明:

Global GOPATH:环境变量中配置的GOPATH路径

Project GOPATH:项目的GOPATH,最好不好设置Global GOPATH,因为这样项目将会使用到所用配置到GOPATH的文件

返回编辑页面,导入错误提示已经没有了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 浅谈goland导入自定义包时出错(一招解决问题)

    使用goland编写go语言程序的时候,发现针对自定义的包无法引入. 如下图所示: 具体错误也就是 main.go:13:2: cannot find package "grpool" in any of: 然后就各种在网上查找,大多数也都讲得很不清楚,最后找到一个说的比较详细的链接 //www.jb51.net/article/202148.htm. 但是这个链接也只是启发了我.下面来图形结合的方式讲述我的方法. (1)首先将之前定义的包和包下的文件移至到新定义的目录src下,我的目

  • Golang import本地包和导入问题相关详解

    1 本地包声明 包是Go程序的基本单位,所以每个Go程序源代码的开始都是一个包声明: package pkgName 这就是包声明,pkgName 告诉编译器,当前文件属于哪个包.一个包可以对应多个*.go源文件,标记它们属于同一包的唯一依据就是这个package声明,也就是说:无论多少个源文件,只要它们开头的package包相同,那么它们就属于同一个包,在编译后就只会生成一个.a文件,并且存放在$GOPATH/pkg文件夹下. 示例: (1) 我们在$GOPATH/目录下,创建如下结构的文件夹

  • go语言入门环境搭建及GoLand安装教程详解

    Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型.编译型语言.Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算. Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

  • 解决Goland 提示 Unresolved reference 错误的问题

    之前一直正常的项目,莫名其妙的 database/sql 包下的方法.结构体等等IDE都无法识别,出现一堆Unresolved reference错误提示,但包导入路径可以正确定位,而且项目运行也正常,其他包都正常,另一个项目下同样使用sql包也正常. 折腾半天都没用,不想重建项目重装IDE太麻烦,最后尝试最简单的升级到 golang 1.12.5 重启Goland后就正常了,应该和版本没有关系,重装下golang就行,估计是Goland文件索引的问题,重装golang后会重建索引就能正常识别了

  • 解决Pycharm 中遇到Unresolved reference 'sklearn'的问题

    解决方法: 在编程过程中,遇到很多错误,提示都是unresolved reference,在进行先关搜素后,从stackoverflow上的相关问题得到启发,具体步骤如下: 1.点击菜单栏上的File -> Setting ->Build,Executing,Development ->Console -> Python Console 2.将Add source roots to PYTHONPATH勾选上 3.点击Apply 4.ok 5.file -> 清除缓存并重启

  • Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法

    一.发现问题 在尝试编辑博客站点的Wordpress主题时,突然发现博客站点无法连接:刷新后提示"建立数据库连接错误"之类的错误.自然想到是mysql可能出错了,所以就登陆了VPS主机,尝试启动mysql服务,但是提示failed. 二.解决方法 1.打开/var/log/mysql/error.log文件,查看出错日志.在阅读日志时发现第一条错误提示是:[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrad

  • 完美解决Pycharm无法导入包的问题 Unresolved reference

    如下所示: Unresolved reference 'ERROR_CODE_INPUT_ERROR' less... (Ctrl+F1) This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck typing, this is possible in a limited but useful number of cases. Top-level and class-

  • Nodejs下用submit提交表单提示cannot post错误的解决方法

    <span style="font-size:18px;"><form action="/registOK" method="get"> <p>用户名:<input type="text" id="userName" name="userName"></p> <p>密码:<input type="pa

  • 完美解决java.lang.OutOfMemoryError处理错误的问题

    原因: 常见的有以下几种: 1.内存中加载的数据量过于庞大,如一次从数据库取出过多数据: 2.集合类中有对对象的引用,使用完后未清空,使得JVM不能回收: 3.代码中存在死循环或循环产生过多重复的对象实体: 4.使用的第三方软件中的BUG: 5.启动参数内存值设定的过小: 常见错误提示: 1.tomcat:java.lang.OutOfMemoryError: PermGen space 2.tomcat:java.lang.OutOfMemoryError: Java heap space 3

  • 为什么ASP中执行动态SQL总报错误信息?提示语句语法错误

    问:为什么ASP中执行动态SQL总报错误信息?提示语句语法错误 答: 有时候写ASP用conn.execute(sql)查询.更新.插入Access数据库数据时,明明正确的语句却往往会显示sql语句错误,相当恼火,特进行了归纳,可适当为字段添加"["."]"解决: 复制代码 代码如下: 例1:select * from a  如出现错误,可改为:select * from [a]  例2:UPDATE [user] SET password = '"&am

  • asp提示Server 对象 错误 ASP 0178 : 80070005

    尤其是刚安装的那些组件,需要手工设置下权限,因为为了安全考虑,权限限制的很低.大家可以参考下面的方法设置下. 错误提示: Server 对象 错误 'ASP 0178 : 80070005' Server.CreateObject 访问错误 ../asp.asp,行 123 检查权限时,对 Server.CreateObject 的调用失败.拒绝对此对象的访问. 错误如提示,存在以权限. 解决方法: 1. 调用"server.createObject("mssearch.applica

  • 解决出现 java.lang.ExceptionInInitializerError错误问题

    解决出现 java.lang.ExceptionInInitializerError错误问题 今天启动一个项目... 在启动的时候报错... 查了半天错误信息 一直是说hibernate缓存管理出错.. 最后查看启动时候的log 发现在程序中报Java.lang.ExceptionInInitializerError 查看原因 最后是因为自己修改了静态常量是系统启动的时候自动获取properties值 结果获取错误 导致其在代码编译的时候造成出错 错误代码: public static fina

  • Exchange2013提示“出现意外错误,无法处理您的请求”处理方案

    前几天公司海外站点的Exchange Sever 2013出了点问题,Outlook用户可以正常连接到Exchang server进行邮件收发,脱机通讯簿.activesync等也都正常,唯独通过WEB访问OWA和ECP的时候,输入用户名和密码,点击登录验证完用户名密码后,开始跳转至邮箱的过程中会清楚的看到"正在打开您的邮箱,正在处理...",但是最后就会提示"发生意外错误,无法处理你的要求",点击"详细信息"会看到类似于"X-OWA-

随机推荐