У меня есть проект 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, и это так.