GOLANG_LIB Telegram 476
🔧 Локальное исправление зависимостей в Go

Иногда при разработке на Go возникает необходимость временно изменить внешний модуль — например, внести исправление, которое ещё не вмержили в основной репозиторий. Go предоставляет удобный механизм для этого.

🧩 Используем replace в go.mod

В Go можно использовать директиву replace, чтобы указать локальный путь вместо внешней зависимости:


replace github.com/some/module => ../local-copy/module


Теперь при сборке Go будет использовать код из ../local-copy/module вместо кода, загружаемого из Git.

Это особенно удобно, если вы:

* работаете над фиксом бага во внешнем пакете;
* тестируете pull request;
* занимаетесь временным форком библиотеки.

⚠️ Что важно помнить

1. Не коммитьте replace в main ветку!
Эти изменения локальны и не должны попадать в боевой код.

2. go get не влияет на replace
Даже если вы обновите модуль через go get, replace всё равно будет использовать локальный путь.

3. Проверьте go.sum
После замены зависимостей могут измениться хэши в go.sum. Это нормально, но стоит за этим следить.

🛠 Пример сценария

Вы нашли баг в github.com/example/lib, клонировали его:


git clone https://github.com/example/lib ~/dev/lib-patched


Затем в go.mod вашего проекта:


replace github.com/example/lib => ~/dev/lib-patched


Теперь go build будет использовать вашу локальную версию.

https://eli.thegreenplace.net/2024/locally-patching-dependencies-in-go/

👉 @golang_lib
👍3



tgoop.com/golang_lib/476
Create:
Last Update:

🔧 Локальное исправление зависимостей в Go

Иногда при разработке на Go возникает необходимость временно изменить внешний модуль — например, внести исправление, которое ещё не вмержили в основной репозиторий. Go предоставляет удобный механизм для этого.

🧩 Используем replace в go.mod

В Go можно использовать директиву replace, чтобы указать локальный путь вместо внешней зависимости:


replace github.com/some/module => ../local-copy/module


Теперь при сборке Go будет использовать код из ../local-copy/module вместо кода, загружаемого из Git.

Это особенно удобно, если вы:

* работаете над фиксом бага во внешнем пакете;
* тестируете pull request;
* занимаетесь временным форком библиотеки.

⚠️ Что важно помнить

1. Не коммитьте replace в main ветку!
Эти изменения локальны и не должны попадать в боевой код.

2. go get не влияет на replace
Даже если вы обновите модуль через go get, replace всё равно будет использовать локальный путь.

3. Проверьте go.sum
После замены зависимостей могут измениться хэши в go.sum. Это нормально, но стоит за этим следить.

🛠 Пример сценария

Вы нашли баг в github.com/example/lib, клонировали его:


git clone https://github.com/example/lib ~/dev/lib-patched


Затем в go.mod вашего проекта:


replace github.com/example/lib => ~/dev/lib-patched


Теперь go build будет использовать вашу локальную версию.

https://eli.thegreenplace.net/2024/locally-patching-dependencies-in-go/

👉 @golang_lib

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


Share with your friend now:
tgoop.com/golang_lib/476

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? Co-founder of NFT renting protocol Rentable World emiliano.eth shared the group Tuesday morning on Twitter, calling out the "degenerate" community, or crypto obsessives that engage in high-risk trading. With Bitcoin down 30% in the past week, some crypto traders have taken to Telegram to “voice” their feelings. Telegram has announced a number of measures aiming to tackle the spread of disinformation through its platform in Brazil. These features are part of an agreement between the platform and the country's authorities ahead of the elections in October. Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment.
from us


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