Multi-Module Repositories
summary
Shows that Go’s MVS uses the max rule of MVS (choose the highest major/minor) and that carving multiple go.mod files from one repo creates an ambiguous import when a package is provided by both a pre‑carve tag (v1.0.3) and a new submodule. Demonstrates tooling steps: go mod init, go mod tidy, tag with both the repo tag and a submodule tag and add a fake dependency to v1.1.0 so MVS bumps users to the safe tag; the workaround relies on MVS and does work in practice.
AI-written summary · about
chapters (7)
- 0:00Start
- 1:45What What Are Modules
- 5:41Multi Module Repository
- 7:06Rules for Modules
- 8:34Adding a Module
- 9:15Specify Version
- 10:11Error Ambiguous Import
related talks
38mUsing Go Modules in everyday life
07mBuilding A Central Go Modules Repository
27mHow to Avoid Breaking Changes in your Go Modules
51mDependency Management
33mHow to Safely and Efficiently Build your App with Modules
24m"Finding Dependable Go Packages"
09m"Adopting Go Modules in NATS v2: A Song of Ice and Fire"
06mLightning Talk: Getting The Most Out Of Go Tool Dependencies
