duancanjiu3754
2019-04-12 11:17
浏览 1.1k
已采纳

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

I was trying to set up GO Modules in intellij and was trying import a package under GOPATH. When I use Go Modules, it doesnt seem to 'import' the packages from GOPATH. Any ideas on what I could be doing wrong?

Below is a screenshot. Left pic: GoModules, which doesnt recognize the package. Right Pic: Simple GO project, which recognized the packages.

I tried doing sync package, with no luck.

Go version - 1.12.3

Initellij_GO_MOD.

图片转代码服务由CSDN问答提供 功能建议

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

下面是屏幕截图。 左图:GoModules,无法识别包。 正确的图片:简单的GO项目,可以识别这些软件包。

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

转到版本-1.12.3

“

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • doutan2228 2019-04-12 11:27
    已采纳

    The two supported modes ("GOPATH mode" and "module-aware mode") are mutually exclusive modes. This means you can't have both, you can't mix modules and GOPATH.

    Quoting from Command go: GOPATH and Modules:

    When using modules, GOPATH is no longer used for resolving imports. However, it is still used to store downloaded source code (in GOPATH/pkg/mod) and compiled commands (in GOPATH/bin).

    And also Command go: Preliminary module support:

    For more fine-grained control, the module support in Go 1.11 respects a temporary environment variable, GO111MODULE, which can be set to one of three string values: off, on, or auto (the default). If GO111MODULE=off, then the go command never uses the new module support. Instead it looks in vendor directories and GOPATH to find dependencies; we now refer to this as "GOPATH mode." If GO111MODULE=on, then the go command requires the use of modules, never consulting GOPATH. We refer to this as the command being module-aware or running in "module-aware mode". If GO111MODULE=auto or is unset, then the go command enables or disables module support based on the current directory. Module support is enabled only when the current directory is outside GOPATH/src and itself contains a go.mod file or is below a directory containing a go.mod file.

    In module-aware mode, GOPATH no longer defines the meaning of imports during a build, but it still stores downloaded dependencies (in GOPATH/pkg/mod) and installed commands (in GOPATH/bin, unless GOBIN is set).

    点赞 评论

相关推荐 更多相似问题