Сообщение Re[3]: Пакеты и модули от 07.04.2022 5:48
Изменено 07.04.2022 6:20 Doom100500
Re[3]: Пакеты и модули
Здравствуйте, 00011011, Вы писали:
0>Или это особенности мышления автора проекта, который сделал отдельными пакетами "controllers", "models", "helpers" и тому подобное, и зачем-то прописал к ним пути через гитхаб, хотя все это просто лежит в папочках рядом с main.go? Я вот этого не понимаю...
Нет, не так.
Вот есть у тебя модуль (см. проект — отдельная независимая сущность). У неё есть название, задаётся при старте написания этого модуля командой
module_name может быть любым (от слова вообще), но если планируется хранить исходники на гитхабе, то это будет github.com/UserName/RepoName/PackageName.
У модуля, естественно будут появляться подмодули, соответственно в поддиректориях., чтобы их импортировать, нужно указывать полный путь до подмодуля, включая module_name. То, что module_name имеет формат <путь до github>, не означает, что он должен синхронизироваться через github.
Внешние для модуля зависимости будут скачиваться в тайную директорию гошки, но их можно скопировать к себе в проект командой go mod vendor.
0>Или это особенности мышления автора проекта, который сделал отдельными пакетами "controllers", "models", "helpers" и тому подобное, и зачем-то прописал к ним пути через гитхаб, хотя все это просто лежит в папочках рядом с main.go? Я вот этого не понимаю...
Нет, не так.
Вот есть у тебя модуль (см. проект — отдельная независимая сущность). У неё есть название, задаётся при старте написания этого модуля командой
go mod init <module_name>.module_name может быть любым (от слова вообще), но если планируется хранить исходники на гитхабе, то это будет github.com/UserName/RepoName/PackageName.
У модуля, естественно будут появляться подмодули, соответственно в поддиректориях., чтобы их импортировать, нужно указывать полный путь до подмодуля, включая module_name. То, что module_name имеет формат <путь до github>, не означает, что он должен синхронизироваться через github.
Внешние для модуля зависимости будут скачиваться в тайную директорию гошки, но их можно скопировать к себе в проект командой go mod vendor.
Re[3]: Пакеты и модули
Здравствуйте, 00011011, Вы писали:
0>Или это особенности мышления автора проекта, который сделал отдельными пакетами "controllers", "models", "helpers" и тому подобное, и зачем-то прописал к ним пути через гитхаб, хотя все это просто лежит в папочках рядом с main.go? Я вот этого не понимаю...
Нет, не так.
Вот есть у тебя модуль (см. проект — отдельная независимая сущность). У неё есть название, задаётся при старте написания этого модуля командой
module_name может быть любым (от слова вообще), но если планируется хранить исходники на гитхабе, то это будет github.com/UserName/RepoName/PackageName.
У модуля, естественно будут появляться подмодули, соответственно в поддиректориях., чтобы их импортировать, нужно указывать полный путь до подмодуля, включая module_name. То, что module_name имеет формат <путь до github>, не означает, что он должен синхронизироваться через github.
Внешние для модуля зависимости будут скачиваться в тайную директорию гошки, но их можно скопировать к себе в проект командой go mod vendor.
Дело в том, что go get работает через git, и, чтобы иметь свои общие модули, которые хочется импортировать в свои — же разные проекты, то их называют именем пути к репозиторию. Это хорошо работает с github, а вот, например, с gitlab, с его группами и подгруппами, уже нет.
Я в своих игрушках общий код вообще оформляю в виде репозиториев с только .go файлами (не модули), и подключаю через git submodules.
0>Или это особенности мышления автора проекта, который сделал отдельными пакетами "controllers", "models", "helpers" и тому подобное, и зачем-то прописал к ним пути через гитхаб, хотя все это просто лежит в папочках рядом с main.go? Я вот этого не понимаю...
Нет, не так.
Вот есть у тебя модуль (см. проект — отдельная независимая сущность). У неё есть название, задаётся при старте написания этого модуля командой
go mod init <module_name>.module_name может быть любым (от слова вообще), но если планируется хранить исходники на гитхабе, то это будет github.com/UserName/RepoName/PackageName.
У модуля, естественно будут появляться подмодули, соответственно в поддиректориях., чтобы их импортировать, нужно указывать полный путь до подмодуля, включая module_name. То, что module_name имеет формат <путь до github>, не означает, что он должен синхронизироваться через github.
Внешние для модуля зависимости будут скачиваться в тайную директорию гошки, но их можно скопировать к себе в проект командой go mod vendor.
Дело в том, что go get работает через git, и, чтобы иметь свои общие модули, которые хочется импортировать в свои — же разные проекты, то их называют именем пути к репозиторию. Это хорошо работает с github, а вот, например, с gitlab, с его группами и подгруппами, уже нет.
Я в своих игрушках общий код вообще оформляю в виде репозиториев с только .go файлами (не модули), и подключаю через git submodules.