在Go中的同一项目中导入文件的正确方法

时间:2019-04-20 16:55:57

标签: go goland

我有一个Go项目,其结构如下:

cmd
  myapp
    main.go
internal
  app
    myapp
      impl.go

现在在main.go中,我要导入impl.go。 GoLand告诉我应该这样做:

import (
  "myproj/internal/app/myapp"
)

但是,我在另一台机器上编译了该项目(因为我使用EGL,而在macOS上不可用)。当我这样做

go build cmd/myapp/main.go

那里,它无法解决导入。因此,我将导入更改为使用我的github存储库的完整路径,如下所示:

import (
  "github.com/flyx/myproj/internal/app/myapp"
)

代码现在可以正常编译了。但是,在我将其拉回GoLand之后,它再也无法解决导入问题。奇怪的是,路径中的每个项目都会给出一个单独的错误,例如

  

无法解析目录“ github.com”

这很奇怪,因为github.com很明显在我的$GOPATH/src中,并且从那里导入的不是我当前项目的其他导入都在起作用。

所以……我在做什么错?我什至不知道GoLand如何解析以myproj开头的路径。我检查了GOPATH是否在GoLand中正确设置了。

0 个答案:

没有答案