LINUX.ORG.RU

go module

 ,


0

2

Hi all !

Пару лет мне понадобилось написать одну небольшую прожку на go, ну более менее разобрался, написал ... потом особо не требовалось.

Тут опять нужно стало, беру го по новее начинаю читать что там изменилось, и увидел сабж. Хм.

Что то мне не очень нравится эта затея :( Раньше было наоборот прикольно все упорядочивалось в одном месте ... а теперь что ? Может я что то не догоняю ?

Спросил у знающего народа - сказали что это из-за того что многие не могли осилить го-патч ... что ? Я фигею. Это же только для разрабов, вон в жаве класс-патч для юзеров и те даже не парятся а тут :(((

★★★★★

После перехода на Go modules упростилась работа с форками, так как в Go нет относительных импортов из коробки.

Go modules же позволяют подменить через replace любую из завимостей ― удобно, когда нужно пропатчить даже не прямую зависимость, а зависимость зависимости, и после этого как-то тестить.

Deleted
()

Какой-то не очень знающий у тебя «знающий». Модули вкрутили чтобы гораздо сильнее была возможность управлять зависимостями, ну и от gopath чтобы можно было отвязаться ибо он слишком прост в своей задумке. Представь, ты пишешь свой проект и добавляешь модули А и В. Оба они имеют зависимость от С, но А зависит от С версии х1, а В от С версии х3. Лучше сам почитай про бенефиты го модулей, чем слушать некомпетентные мнения.

Deleted
()
Ответ на: комментарий от derlafff

В смысле можно заменить любую зависимость на форк без правки всех импортов этой зависимости.

Т.е. ln -s не катит ?

mx__ ★★★★★
() автор топика
Ответ на: комментарий от mx__

ну если на то пошло, то можно было просто origin добавить, но все-таки новый способ гораздо проще, удобнее и прямее.

derlafff ★★★★★
()
Ответ на: комментарий от Deleted

Представь, ты пишешь свой проект и добавляешь модули А и В. Оба они имеют зависимость от С, но А зависит от С версии х1, а В от С версии х3.

Извините это с трудом себе представляю. А можно по реальнее пример ? К примеру у меня есть gorilla mux, я его буду юзать одной версии, зачем две то ?

mx__ ★★★★★
() автор топика
Ответ на: комментарий от mx__

Проходил мимо, на Go не пишу, но пример привести могу.

Есть, например, фреймворк у тебя. Фреймворк требует версию одной из своих зависимостей 1.0.0. Кроме этого фреймворка ты подключаешь какую-нибудь небольшую библиотеку для какой-нибудь небольшой, но очень важной мелочи, и библиотека эта тоже подключается к той самой зависимости, но уже версии 2.0.0. Приходится выбирать.

Чтобы выбирать не приходилось и вводятся такие костыли.

Siborgium ★★★★★
()

чего только не делают лишь бы git submodule не использовать, php composer, go module

quester ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.