VSCode удаленных контейнеров и Голанга GOPATH - PullRequest
1 голос
/ 31 октября 2019

Я создал контейнер go, используя расширения удаленных контейнеров vscode. Структура проекта выглядит следующим образом:

archy-go
├── .devcontainer
│   ├── devcontainer.json
│   └── Dockerfile
└── src
    └── git.mycompany.com
        ├── main.go
        └── mycompany
            └── archy-go
                └── cmd
                    ├── createBackend.go
                    ├── createFull.go
                    ├── create.go
                    ├── root.go
                    ├── say.go
                    └── sayhello.go

Но когда я пробую команду go build внутри папки git.mycompany.com, я получаю сообщение об ошибке:

root@b570cd82e7e5:/workspaces/archy-go/src/git.mycompany.com# go build
main.go:3:8: cannot find package "git.mycompany.com/mycompany/archy-go/cmd" in any of:
        /usr/local/go/src/git.mycompany.com/mycompany/archy-go/cmd (from $GOROOT)
        /go/src/git.mycompany.com/mycompany/archy-go/cmd (from $GOPATH)

Что я сделалделать неправильно? Или как правильно настроить GOPATH в этой ситуации?

1 Ответ

0 голосов
/ 01 ноября 2019

Если вы используете Go 1.11 или выше, вы можете создавать и использовать go модули .

Вы можете запустить go mod init git.mycompany.com внутри папки src.

Команда создаст следующую структуру, и все модули go могут быть импортированы из git.mycompany.com/{path}.

Это должно решить вашу проблему.

archy-go
├── .devcontainer
│   ├── devcontainer.json
│   └── Dockerfile
└── src
    ├── go.mod
    │ 
    └── git.mycompany.com
        ├── main.go
        └── mycompany
            └── archy-go
                └── cmd
                    ├── createBackend.go
                    ├── createFull.go
                    ├── create.go
                    ├── root.go
                    ├── say.go
                    └── sayhello.go
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...