Модуль определяется деревом исходных файлов Go с файлом go.mod в корневом каталоге дерева. Каталог, содержащий файл go.mod, называется корнем модулем (module root). Обычно корень модуля также будет соответствовать корню хранилища исходного кода (но в общем случае это не обязательно). Модуль представляет собой набор всех пакетов Go в корневом каталоге модуля и его подкаталогах, но исключая поддеревья с собственными файлами go.mod.
"module path" ("путь к модулю") - это префикс пути импорта, соответствующий корню модуля. Файл go.mod определяет путь к модулю и перечисляет конкретные версии других модулей, которые следует использовать при разрешении импорта во время сборки, указав пути к ним и версии модулей.
Например, следующий go.mod объявляет, что каталог, в котором он находится, является корнем модуля с путем example.com/m, а также заявляет, что модуль зависит от конкретных версий golang.org/x/text и gopkg.in/yaml.v2:
module example.com/m
require (
golang.org/x/text v0.3.0
gopkg.in/yaml.v2 v2.1.0
)
Файл go.mod также может указывать замены и исключенные версии, которые применяются только при непосредственной сборке модуля; они игнорируются, когда модуль встроен в более крупную сборку. Для получения дополнительной информации о файле go.mod см. go help go.mod.
Чтобы запустить новый модуль, просто создайте файл go.mod в корне дерева каталогов модуля, содержащий только module утверждение. Команда 'go mod init' может использоваться для этого:
go mod init example.com/m
В проекте, уже использующем существующий инструмент управления зависимостями, такой как godep, glide или dep, 'go mod init' также добавит операторы require, соответствующие существующей конфигурации.
Как только файл go.mod существует, никаких дополнительных действий не требуется: команды go, такие как 'go build', 'go test' или даже 'go list', автоматически добавят новые зависимости, необходимые для удовлетворения импорта.
Читайте также:
Комментариев нет:
Отправить комментарий