当前位置: 首页 > 面试题库 >

Go模块无法识别GOPATH下的文件

易英奕
2023-03-14
问题内容

我试图在intellij中设置GO模块,并试图导入GOPATH下的软件包。当我使用Go
Modules时,似乎没有从GOPATH中“导入”软件包。关于我可能做错了什么的任何想法?

以下是屏幕截图。左图:GoModules,无法识别包。右图:简单的GO项目,可以识别软件包。

我尝试做同步包,没有运气。

Go版本-1.12.3

Initellij_GO_MOD


问题答案:

支持的两种模式(“ GOPATH模式”和“模块感知模式”)是互斥模式。这意味着您不能同时拥有模块和GOPATH。

从引用命令去:GOPATH和模块:

使用模块时,GOPATH不再用于解析导入。 但是,它仍用于存储下载的源代码(在GOPATH / pkg /
mod中)和已编译的命令(在GOPATH / bin中)。

还有Command go:初步模块支持:

为了进行更细粒度的控制,Go
1.11中的模块支持使用一个临时环境变量GO111MODULE,可以将其设置为三个字符串值之一:off,on或auto(默认值)。如果GO111MODULE
= off,那么go命令将永远不使用新的模块支持。相反,它在供应商目录和GOPATH中查找依赖关系。我们现在将此称为“
GOPATH模式”。如果GO111MODULE =
on,则go命令需要使用模块,从不咨询GOPATH。我们将其称为命令可识别模块或在“模块可识别模式”下运行。如果GO111MODULE =
auto或未设置,则go命令根据当前目录启用或禁用模块支持。仅当当前目录在GOPATH /
src之外并且本身包含go.mod文件或在包含go的目录下时,才启用模块支持。

在模块感知模式下,GOPATH不再定义构建过程中导入的含义 ,但仍存储下载的依赖项(在GOPATH / pkg /
mod中)和已安装的命令(在GOPATH / bin中,除非设置了GOBIN)。



 类似资料:
  • 我开始了一个没有PyCharm的项目,我设置了一个VirtualEnv,我已经安装了Django、Pillow等。 我已经将项目导入到PyCharm,即使我将项目解释器配置到VirtualEnv的位置,PyCharm似乎也无法识别此虚拟环境中已安装的模块。 项目解释器位置如下所示: 现在PyCharm项目解释器只有表中显示的基本包,如pip、setuptools、wheel,但没有我在virtua

  • 这是我正在使用的图书馆。但我需要更改java代码的样式。但是由于它是一个外部依赖项,所以文件是只读的。 这是我的Android文件结构: Android文件结构截图 这是我的build.gradle(模块:App)的依赖项块代码: code bloack的屏幕截图 在我的share.java文件中,我尝试导入CarouselPicker,这是我为alt+enter得到的结果: Alt+Enter给

  • 突然之间,网络Storm对我来说不认识Javascript了。 如果我添加这样的文件: 之后我在IDE中看到的是: 如果我刷新,重新启动Webstorm,它仍然无法识别文件!网络Storm已无法使用!

  • 问题内容: 我正在尝试安装,但正在运行return 在使用各种软件包之前,这种情况会持续一段时间,然后再返回其他任何内容。给我: 如何安装?在github页面的自述文件中使用了(而不是)。我的Go版本是。 问题答案: 这些问题与无效有关。 我认为您已安装Go in 。 因此,将您的路径更改为的值。 看来您的工作空间(GOPATH)位于。 这可能会解决您的问题。 将此添加到bash配置文件的底部,位

  • 问题内容: 我想使用安装json2csv,但收到此错误: 有关如何在MacOS上解决此问题的任何帮助? 问题答案: [更新:从Go 1.8开始,默认为,但是如果您想了解布局,自定义布局等,可能仍会觉得有用。] 官方的Go网站讨论了GOPATH以及如何布置工作空间目录。 -在您的Shell中运行它,然后将其添加到或等效版本中,以便将来为您设置。Go会在安装包,以及,子目录那里。您需要将自己的软件包放

  • Webstorm 无法将我的一个.js文件识别为 JavaScript 文件,因此我丢失了语法突出显示并能够添加断点。我查看了文件,有问题的文件似乎与其他正常工作的.js文件具有相似的设置。 如果我更改文件名,它可以正常工作。因此,不知何故,Webstorm 陷入了误解具有此名称的文件类型的困境。我还可以在哪里编辑项目?