Telegram Group & Telegram Channel
🔧 Локальное исправление зависимостей в 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



tg-me.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) разработчика


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

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

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

However, analysts are positive on the stock now. “We have seen a huge downside movement in the stock due to the central electricity regulatory commission’s (CERC) order that seems to be negative from 2014-15 onwards but we cannot take a linear negative view on the stock and further downside movement on the stock is unlikely. Currently stock is underpriced. Investors can bet on it for a longer horizon," said Vivek Gupta, director research at CapitalVia Global Research.

The SSE was the first modern stock exchange to open in China, with trading commencing in 1990. It has now grown to become the largest stock exchange in Asia and the third-largest in the world by market capitalization, which stood at RMB 50.6 trillion (US$7.8 trillion) as of September 2021. Stocks (both A-shares and B-shares), bonds, funds, and derivatives are traded on the exchange. The SEE has two trading boards, the Main Board and the Science and Technology Innovation Board, the latter more commonly known as the STAR Market. The Main Board mainly hosts large, well-established Chinese companies and lists both A-shares and B-shares.

telegram from hk


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