Telegram Group & Telegram Channel
Pragmatic go.mod bump

Недавно я открыл pull request, в котором просто обновил go.mod, и мне задали интересный вопрос:

> Почему ты обновляешь go.mod, если он и так работает?

Хороший вопрос. Короткий ответ: потому что это имеет значение.

Длинный ответ...

Что делает go mod tidy?

Он обновляет:

- go.mod:
- удаляет неиспользуемые зависимости;
- добавляет недостающие;
- обновляет версии go, toolchain, require и replace, если это необходимо.
- go.sum:
- добавляет хэши для новых зависимостей;
- удаляет хэши для неиспользуемых.

Что делает go mod tidy -go=1.xx?

То же самое, но моделируя, как если бы у вас был Go 1.xx. Это может быть полезно, если вы используете более старую версию Go, но хотите подготовить модуль к сборке на более новой версии, или наоборот.

Почему я обновляю go.mod?

Есть несколько причин.

Обновление версии Go

Когда я обновляю go, я также обновляю go.mod. Это позволяет понять, с какой версией Go должен работать проект. Это особенно важно для CI/CD и будущих участников команды.

Поддержание актуальности зависимостей

Иногда go mod tidy может подтянуть более свежую версию зависимости, особенно если у вас были временные изменения или вы что-то откатывали. Это помогает избежать накопления "грязи" в go.mod.

Удаление лишнего

Если вы удалили использование какого-либо пакета, но не запускали tidy, зависимость может остаться в go.mod и go.sum. Это лишний шум.

Минимизация различий

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

Безопасность

Иногда обновление зависимости может подтянуть фиксы для уязвимостей. Даже если вы не используете уязвимый код напрямую, он может быть в go.sum.

TL;DR

- go.mod и go.sum — это часть исходного кода, и за ними нужно ухаживать.
- go mod tidy помогает держать их в порядке.
- Обновление go.mod даже без изменения логики — это хорошая практика.

https://carlosbecker.com/posts/pragmatic-gomod-bump/

👉 @golang_lib



tg-me.com/golang_lib/467
Create:
Last Update:

Pragmatic go.mod bump

Недавно я открыл pull request, в котором просто обновил go.mod, и мне задали интересный вопрос:

> Почему ты обновляешь go.mod, если он и так работает?

Хороший вопрос. Короткий ответ: потому что это имеет значение.

Длинный ответ...

Что делает go mod tidy?

Он обновляет:

- go.mod:
- удаляет неиспользуемые зависимости;
- добавляет недостающие;
- обновляет версии go, toolchain, require и replace, если это необходимо.
- go.sum:
- добавляет хэши для новых зависимостей;
- удаляет хэши для неиспользуемых.

Что делает go mod tidy -go=1.xx?

То же самое, но моделируя, как если бы у вас был Go 1.xx. Это может быть полезно, если вы используете более старую версию Go, но хотите подготовить модуль к сборке на более новой версии, или наоборот.

Почему я обновляю go.mod?

Есть несколько причин.

Обновление версии Go

Когда я обновляю go, я также обновляю go.mod. Это позволяет понять, с какой версией Go должен работать проект. Это особенно важно для CI/CD и будущих участников команды.

Поддержание актуальности зависимостей

Иногда go mod tidy может подтянуть более свежую версию зависимости, особенно если у вас были временные изменения или вы что-то откатывали. Это помогает избежать накопления "грязи" в go.mod.

Удаление лишнего

Если вы удалили использование какого-либо пакета, но не запускали tidy, зависимость может остаться в go.mod и go.sum. Это лишний шум.

Минимизация различий

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

Безопасность

Иногда обновление зависимости может подтянуть фиксы для уязвимостей. Даже если вы не используете уязвимый код напрямую, он может быть в go.sum.

TL;DR

- go.mod и go.sum — это часть исходного кода, и за ними нужно ухаживать.
- go mod tidy помогает держать их в порядке.
- Обновление go.mod даже без изменения логики — это хорошая практика.

https://carlosbecker.com/posts/pragmatic-gomod-bump/

👉 @golang_lib

BY Библиотека Go (Golang) разработчика


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/golang_lib/467

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Launched in 2013, Telegram allows users to broadcast messages to a following via “channels”, or create public and private groups that are simple for others to access. Users can also send and receive large data files, including text and zip files, directly via the app.The platform said it has more than 500m active users, and topped 1bn downloads in August, according to data from SensorTower.

The STAR Market, as is implied by the name, is heavily geared toward smaller innovative tech companies, in particular those engaged in strategically important fields, such as biopharmaceuticals, 5G technology, semiconductors, and new energy. The STAR Market currently has 340 listed securities. The STAR Market is seen as important for China’s high-tech and emerging industries, providing a space for smaller companies to raise capital in China. This is especially significant for technology companies that may be viewed with suspicion on overseas stock exchanges.

telegram from sg


Telegram Библиотека Go (Golang) разработчика
FROM USA