суббота, 16 января 2021 г.

Модули в Golang: пути к модулям

Путь к модулю - это каноническое имя модуля, объявленное с помощью директивы module в файле go.mod модуля. Путь к модулю - это префикс для путей к пакетам внутри модуля.

Путь к модулю должен описывать как то, что модуль делает, так и где его найти. Обычно путь к модулю состоит из корневого пути репозитория, каталога внутри репозитория (обычно пустого) и суффикса основной версии (только для основной версии 2 или выше).

  • Корневой путь репозитория - это часть пути к модулю, соответствующая корневому каталогу репозитория системы контроля версий, в котором разрабатывается модуль. Большинство модулей определены в корневом каталоге своего репозитория, поэтому обычно это весь путь. Например, golang.org/x/net - это корневой путь репозитория для одноименного модуля.
  • Если модуль не определен в корневом каталоге репозитория, подкаталог модуля - это часть пути к модулю, которая называет каталог, не включая суффикс основной версии. Это также служит префиксом для тегов семантической версии. Например, модуль golang.org/x/tools/gopls находится в подкаталоге gopls репозитория с корневым путем golang.org/x/tools, поэтому в нем есть подкаталог модулей gopls.
  • Если модуль выпущен в основной версии 2 или выше, путь к модулю должен заканчиваться суффиксом основной версии, например /v2. Это может быть или не быть частью имени подкаталога. Например, модуль с путем golang.org/x/repo/sub/v2 может находиться в подкаталоге /sub или /sub/v2 репозитория golang.org/x/repo.

Если модуль может зависеть от других модулей, эти правила необходимо соблюдать, чтобы команда go могла найти и загрузить модуль. Также существует несколько лексических ограничений на символы, разрешенные в путях модулей.


Читайте также:


Комментариев нет:

Отправить комментарий