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 无法识别模块的主要内容,如果未能解决你的问题,请参考以下文章