replace go.mod by guessed local path
It replaces a module to point to your local path.
If your local directory structure is like here (you are building your-tool
):
github.com/
- YOU/
- your-tool/
- main.go (uses github.com/YOU/your-lib1)
- go.mod
- go.sum
- your-lib1/
- ...
- ANOTHER/
- ano-libZ/
- ...
You may have a go.mod
like:
module github.com/YOU/your-tool
go 1.15
require (
github.com/YOU/your-lib1 v0.0.0-20201126235959-0ab12c34def5
github.com/ANOTHER/ano-libZ v0.1.0-20201126235959-1bc23d45efg6
)
⬇️⬇️⬇️
gomodlocal replace your-lib1
⬇️⬇️⬇️
module github.com/YOU/your-tool
go 1.15
require (
github.com/YOU/your-lib1 v0.0.0-20201126235959-0ab12c34def5
github.com/ANOTHER/ano-libZ v0.1.0-20201126235959-1bc23d45efg6
)
replace github.com/YOU/your-lib1 => ..\your-lib1
Now you can debug your-lib1 freely.
⬇️⬇️⬇️And more...⬇️⬇️⬇️
gomodlocal replace ano-libZ
⬇️⬇️⬇️
module github.com/YOU/your-tool
go 1.15
require (
github.com/YOU/your-lib1 v0.0.0-20201126235959-0ab12c34def5
github.com/ANOTHER/ano-libZ v0.1.0-20201126235959-1bc23d45efg6
)
replace github.com/YOU/your-lib1 => ..\your-lib1
replace github.com/ANOTHER/ano-libZ => ..\..\ano-libZ
⬇️⬇️⬇️
gomodlocal drop --all
(gomodlocal drop your-lib1 && gomodlocal drop ano-libZ)
⬇️⬇️⬇️
module github.com/YOU/your-tool
go 1.15
require (
github.com/YOU/your-lib1 v0.0.0-20201126235959-0ab12c34def5
github.com/ANOTHER/ano-libZ v0.1.0-20201126235959-1bc23d45efg6
)
It's back.
gomodlocal help
gomodlocal help subcommand