" go build ./..."找不到包

时间:2016-04-04 12:50:30

标签: intellij-idea go

我知道互联网上有类似的问题,我尝试了所有建议的解决方案,但至少2天都无法弄明白。

我尝试使用IntelliJ IDEA部署Little Go服务器,它运行良好,它可以构建/运行我的代码,但如果我使用终端作为示例:

go build ./...

我看到类似的东西:

OS-X-Dennis:backend denis$ go build ./...
out/production/mypocket_backend/server.go:4:2: cannot find package "api.jwt.auth/routers" in any of:
        /usr/local/go/src/api.jwt.auth/routers (from $GOROOT)
        /Users/denis/Programming/Golang/src/api.jwt.auth/routers (from $GOPATH)

OS X 10.11.2,IntelliJ IDEA 2016.1
$ GOPATH ="用户/ denis /编程/ Golang"
$ GOROOT =" / usr / local / go"
$ PATH =" $ PATH:$ GOPATH / bin"
这些路径是正确的吗?

这是我的工作结构:

/Golang/
 .bin/
 .pkg/
    .darwin-amd64/
         .//other folders/
 .src/
     .github.com/
     .backend/ //project's source
           /src
              /api.jwt.auth/
                //source code
           .server.go - file with main func
          //other files as example .gitignore
     .//other folders// 

这是我的主文件和整个项目结构的屏幕: enter image description here

我看到日志显示我的项目路径错误。

 now
 /Users/denis/Programming/Golang/src/api.jwt.auth/routers
should
 /Users/denis/Programming/Golang/src/backend/src/api.jwt.auth/routers

我不知道应该在哪里纠正这条道路。

1 个答案:

答案 0 :(得分:1)

您的GOPATH可以包含多个目录。

如果您真的希望backend目录成为某些Go库的路径,除了现有的/Users/denis/Programming/Golang路径外,您还可以将GOPATH设置为:/Users/denis/Programming/Golang:/Users/denis/Programming/Golang/src/backend < / p>

这将导致import语句在/Users/denis/Programming/Golang/src目录和/Users/denis/Programming/Golang/src/backend/src目录中搜索源文件。

我个人建议将你的api.jwt.auth文件夹移动到/Users/denis/Programming/Golang/src/api.jwt.auth以保持你的源代码在一个区域内,但是如上所述在你的GOPATH中有两个不同的目录也可以。

要更好地了解GOPATH,您只需输入go help gopath即可。快速入门也是here