Как модуль go может загружать пакеты только в подкаталоге репозитория? - PullRequest
0 голосов
/ 13 марта 2020

Я создал модуль с именем A и pu sh для частного репо моей компании.

Адрес репо: xxx.com/inf/client.git, а модуль является подкаталогом, поэтому модуль называется xxx.com/inf/client.git/A

* 1004. * Когда я использую модуль, я импортирую его в свой код
import (
    "xxx.com/inf/client.git/A"
)
func main() {
    A.XXX()
}

Когда я использую go build для сборки кода, модуль go может найти модуль A и начать загрузку. Но проблема в том, что существует так много подкаталогов одного уровня с A, и все они будут загружены, чего я не ожидаю.

Кто-нибудь может помочь с этим? Я хочу, чтобы xxx.com/inf/client.git/A загружался без загрузки xxx.com/inf/client.git/B(C,D ...), потому что они вообще не используются.

1 Ответ

2 голосов
/ 13 марта 2020

Нет, это не поддерживается.

Если по какой-то причине вы действительно не хотите загружать другой код в этом модуле, создайте отдельный модуль в отдельном репо.

Практически никогда нет причин создавать отдельный модуль по этой причине. Все, что он делает, это экономит несколько килобайт дискового пространства, а диски дешевы - обычно намного дешевле, чем время, затрачиваемое разработчиком на обработку большего количества репозиториев / модулей.

...