| go work vendor |
| cmp modules.txt.want vendor/modules.txt |
| go list example.com/a example.com/b |
| |
| # Module required in go.mod but not marked explicit in modules.txt |
| cp modules.txt.required_but_not_explicit vendor/modules.txt |
| ! go list example.com/a example.com/b |
| cmpenv stderr required_but_not_explicit_error.txt |
| |
| # Replacement in go.mod but no replacement in modules.txt |
| cp modules.txt.missing_replacement vendor/modules.txt |
| ! go list example.com/a example.com/b |
| cmpenv stderr missing_replacement_error.txt |
| |
| # Replacement in go.mod but different replacement target in modules.txt |
| cp modules.txt.different_replacement vendor/modules.txt |
| ! go list example.com/a example.com/b |
| cmpenv stderr different_replacement_error.txt |
| |
| # Module marked explicit in modules.txt but not required in go.mod |
| cp modules.txt.extra_explicit vendor/modules.txt |
| ! go list example.com/a example.com/b |
| cmpenv stderr extra_explicit_error.txt |
| |
| # Replacement in modules.txt but not in go.mod |
| cp modules.txt.extra_replacement vendor/modules.txt |
| ! go list example.com/a example.com/b |
| cmpenv stderr extra_replacement_error.txt |
| |
| -- modules.txt.want -- |
| ## workspace |
| # example.com/p v1.0.0 => ./p |
| ## explicit; go 1.21 |
| # example.com/q v1.0.0 => ./q |
| ## explicit; go 1.21 |
| -- modules.txt.required_but_not_explicit -- |
| ## workspace |
| # example.com/p v1.0.0 => ./p |
| ## go 1.21 |
| # example.com/q v1.0.0 => ./q |
| ## explicit; go 1.21 |
| -- required_but_not_explicit_error.txt -- |
| go: inconsistent vendoring in $GOPATH${/}src: |
| example.com/p@v1.0.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt |
| |
| To ignore the vendor directory, use -mod=readonly or -mod=mod. |
| To sync the vendor directory, run: |
| go work vendor |
| -- modules.txt.missing_replacement -- |
| ## workspace |
| # example.com/p v1.0.0 |
| ## explicit; go 1.21 |
| # example.com/q v1.0.0 => ./q |
| ## explicit; go 1.21 |
| -- missing_replacement_error.txt -- |
| go: inconsistent vendoring in $GOPATH${/}src: |
| example.com/p@v1.0.0: is replaced in a${/}go.mod, but not marked as replaced in vendor/modules.txt |
| |
| To ignore the vendor directory, use -mod=readonly or -mod=mod. |
| To sync the vendor directory, run: |
| go work vendor |
| -- modules.txt.different_replacement -- |
| ## workspace |
| # example.com/p v1.0.0 => ./r |
| ## explicit; go 1.21 |
| # example.com/q v1.0.0 => ./q |
| ## explicit; go 1.21 |
| -- different_replacement_error.txt -- |
| go: inconsistent vendoring in $GOPATH${/}src: |
| example.com/p@v1.0.0: is replaced by ../p in a${/}go.mod, but marked as replaced by ./r in vendor/modules.txt |
| |
| To ignore the vendor directory, use -mod=readonly or -mod=mod. |
| To sync the vendor directory, run: |
| go work vendor |
| -- modules.txt.extra_explicit -- |
| ## workspace |
| # example.com/p v1.0.0 => ./p |
| ## explicit; go 1.21 |
| # example.com/q v1.0.0 => ./q |
| ## explicit; go 1.21 |
| # example.com/r v1.0.0 |
| example.com/r |
| ## explicit; go 1.21 |
| -- extra_explicit_error.txt -- |
| go: inconsistent vendoring in $GOPATH${/}src: |
| example.com/r@v1.0.0: is marked as explicit in vendor/modules.txt, but not explicitly required in a go.mod |
| |
| To ignore the vendor directory, use -mod=readonly or -mod=mod. |
| To sync the vendor directory, run: |
| go work vendor |
| -- modules.txt.extra_replacement -- |
| ## workspace |
| # example.com/p v1.0.0 => ./p |
| ## explicit; go 1.21 |
| # example.com/q v1.0.0 => ./q |
| ## explicit; go 1.21 |
| # example.com/r v1.0.0 => ./r |
| example.com/r |
| ## go 1.21 |
| -- extra_replacement_error.txt -- |
| go: inconsistent vendoring in $GOPATH${/}src: |
| example.com/r@v1.0.0: is marked as replaced in vendor/modules.txt, but not replaced in the workspace |
| |
| To ignore the vendor directory, use -mod=readonly or -mod=mod. |
| To sync the vendor directory, run: |
| go work vendor |
| -- go.work -- |
| go 1.21 |
| |
| use ( |
| ./a |
| ./b |
| ) |
| -- a/go.mod -- |
| module example.com/a |
| |
| go 1.21 |
| |
| require example.com/p v1.0.0 |
| |
| replace example.com/p v1.0.0 => ../p |
| -- a/a.go -- |
| package p |
| -- b/go.mod -- |
| module example.com/b |
| |
| go 1.21 |
| |
| require example.com/q v1.0.0 |
| |
| replace example.com/q v1.0.0 => ../q |
| -- b/b.go -- |
| package b |
| -- p/go.mod -- |
| module example.com/p |
| |
| go 1.21 |
| -- q/go.mod -- |
| module example.com/q |
| |
| go 1.21 |