Golang 无法识别模块

Posted

技术标签:

【中文标题】Golang 无法识别模块【英文标题】:Goland doesnt recognize module 【发布时间】:2022-01-22 20:57:30 【问题描述】:

我在 Goland 识别我的进口时遇到问题。

所以,有了这样的基本示例结构

 - main.go
 - go.mod
 - folder/something.go

来自folder 的导入无法识别。

例如在导入下方,main.go 内无效,Goland 抱怨消息Cannot resolve directory somename

import "somename/folder"

go.mod 初始化为 go mod init somename

为什么会这样?为什么 Goland 无法将 somename 解析为我创建的模块?

【问题讨论】:

请尝试go vet并发布错误。 folder/something.go里面的包声明是什么?另外请尝试报告go 工具是否可以编译您的模块(IDE 可能有不相关的配置错误)。还有你用的是什么版本的go? @OliverTale-Yazdi go vet 不输出任何东西 @icza package decl in folder/something.go is folder btw。 go 编译它没有问题,Goland 只是不识别导入 @eja 那么也许你的 Goland 不知道你的 golang 安装路径之类的?您可以查找有关如何设置 Goland 的教程。 Goland 可能不使用模块模式。检查其配置。还要检查你的 Go 版本。 【参考方案1】:

参考:JetBrains GoLand Docs: Working with Go modules

在 GoLand 的文档中,提到如果您尚未从 IDE 本身创建 Go 项目,那么您必须手动配置它以使用 Go 模块。

如果您在 IDE 中创建新的 Go 模块项目,则 Go 模块已启用。如果您从 Github 拉取 Go 模块项目,则需要手动启用 Go 模块。

所以,我认为这就是您面临问题的原因。但是您可以按照文档正确配置您的 IDE。

【讨论】:

以上是关于Golang 无法识别模块的主要内容,如果未能解决你的问题,请参考以下文章

psycopg2 模块无法识别

PyCharm 无法识别已安装的模块

模块已安装但 PyCharm 无法识别

Perl 模块无法识别

VsCode 无法识别模块(我使用的是 python 3.10)

Perl 无法识别 root 用户的模块/模块路径