Poor tool integration

When tools require fork patches, then the go mod system experiences multiple problems, as of Go 1.24.1.

  • go install… fails to support forks directly, due to deep Go issues regarding absolute module paths.
  • replace directives in go.mod configurations for dependencies often trigger spurious errors for downstream user attempting to go install… components. What’s more, it happens with replace directives in tools dependencies, for downstream Go projects that don’t even use the tools, just the ordinary upstream library dependencies.

As a workaround, Go tools can be manually vendored as vendor2/<module/.../.../...> and installed from source. But that reliability gain comes at the expense of maintainability.

I feel like every post you have made here is vague and complaining about Go’s tooling; but you are consistently using said tooling in ways that the community is not for the most part. It seems like perhaps you are using the wrong tool for the job you are trying to accomplish.

What specific fork patches do your tools require? Like - what’s the real-world example here? Based on what you’ve typed, I can’t even understand what you are trying to do and what problems you are experiencing.

2 Likes