модули golang и локальные пакеты - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь понять, как организовать свой проект golang с помощью модулей go1.11. Я перепробовал несколько вариантов, но ни один из них не сработал.

У меня есть некоторый код в основном пакете, папка приложения ander и локальный пакет, который использует основной пакет.

$GOPATH
+ src
  + application/
    + main/
      + main.go
      + otherFileUnderMainPackage.go
    + aLocalPackage/
      + someCode.go
      + someCode_test.go
      + someMoreCode.go
      + someMoreCode_test.go

Файлы в основном пакете, импорт ../aLocalPackage. Когда я компилирую по go build main/*.go, это работает.

Затем я запустил go mod init application:V.0.9.9 и получил файл go.mod, но сборка всегда дает сбой. Я всегда получаю сообщение об ошибке не найдя локальный пакет: build application:V0.9.9/main: cannot find module for path _/.../src/application/aLocalPackage. Я также попытался поместить локальный пакет прямо в src /, поместить в main / и т. Д., Но ни один из этих методов не помог мне.

Как использовать модули и локальные пакеты?

Спасибо.

1 Ответ

0 голосов
/ 30 июля 2019

Относительные пути импорта не поддерживаются в режиме модуля.Вам нужно будет обновить свои операторы import, чтобы использовать полный (абсолютный) путь импорта.

Вам также следует выбрать имя модуля, отличное от application.Путь к вашему модулю обычно должен начинаться с префикса URL-адреса, которым вы управляете, - либо вашего собственного доменного имени, либо уникального пути, такого как github.com/$USER/$REPO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...