Go语言 错误与“包主要”标记红色在这主要.去文件夹

blpfk2vs  于 2023-04-18  发布在  Go
关注(0)|答案(5)|浏览(175)

我写了一个main.go程序,并在代码的开头声明了包,但它显示为红色,如下所示:

当我将鼠标悬停在软件包上时,它会显示以下内容:

gopls requires a module at the root of your workspace.
You can work with multiple modules by opening each one as a workspace folder.
Improvements to this workflow will be coming soon, and you can learn more here:
https://github.com/golang/tools/blob/master/gopls/doc/workspace.md.

我需要关于如何传递此错误的帮助。非常感谢。

jpfvwuh4

jpfvwuh41#

您需要在项目的根目录下从命令行运行go mod init命令。看起来像是从go-microservice/prod-api运行的,但它应该在.git所在的位置运行。如果prod-api实际上是git项目的根目录,那么您需要在VSCode中打开该文件夹,而不是go-microservice

nmpmafwu

nmpmafwu2#

我刚开始使用Golang,所以我不确定这是否能帮助你。
这个错误出现在VS Code中,为了解决这个问题,我需要将一个空的github repo克隆到一个新文件夹中,以便稍后添加main.go文件。
我能够添加,提交和推送更改。lint错误现在已经消失了。
在我的例子中,.git文件夹位于上方,而不是在main.go旁边:

\my-app
  |
  |__ \backend
      |__ go.mod
      |__ main.go
  |__ \frontend
  |__ \.git

在后端文件夹中,go.mod是用

go mod init github.com/<your-username>/my-app

GitHub似乎将默认分支从master改为main。如果您使用github,请检查您是否在正确的分支中,默认情况下可能是main

bkhjykvo

bkhjykvo3#

如果您将hello.go从prod-api移动到GO-MICROSERVICE的根文件夹,则不会出现错误。

ojsjcaue

ojsjcaue4#

您可以通过在gopls设置中添加"build.experimentalWorkspaceModule": true来禁用此问题
This mentioned in the link appear in the error

mqxuamgl

mqxuamgl5#

解决方案可能非常简单,就像我的例子一样。在我的例子中,它就像我在VSCode中打开的文件夹的层次结构一样简单。

如果你看一下我的项目层次结构,当我在VSCode中打开名为“start”的文件夹时,我得到了错误,这是main.go所在的直接文件夹。我和你一样得到了突出显示的红色包错误。
然后在VSCode中,我选择“打开文件夹”,并打开项目的上一级,文件夹“go_start_code”。错误消失了。

相关问题