diff options
author | Michael Matloob <matloob@golang.org> | 2022-01-10 12:58:20 -0500 |
---|---|---|
committer | Michael Matloob <matloob@golang.org> | 2022-01-13 19:35:14 +0000 |
commit | 3ff12a019f00bc81996c453e5cb4729a9278f65a (patch) | |
tree | c17c29070a9e39028efacbc7ed11b63772a32fb1 /src/cmd/go | |
parent | ce01afe907f7f37b465bda529a339a7a8b98c59e (diff) | |
download | go-3ff12a019f00bc81996c453e5cb4729a9278f65a.tar.gz go-3ff12a019f00bc81996c453e5cb4729a9278f65a.zip |
cmd/go: run go install in workspace mode
It's too confusing to users to run go install in module mode, so run
it in workspace mode instead.
Fixes #50036
Change-Id: Ia99927bd98f54be4c42224a247543892045e3464
Reviewed-on: https://go-review.googlesource.com/c/go/+/377334
Reviewed-by: Bryan Mills <bcmills@google.com>
Trust: Michael Matloob <matloob@golang.org>
Run-TryBot: Michael Matloob <matloob@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src/cmd/go')
-rw-r--r-- | src/cmd/go/internal/work/build.go | 1 | ||||
-rw-r--r-- | src/cmd/go/testdata/script/work_install_submodule.txt | 36 |
2 files changed, 37 insertions, 0 deletions
diff --git a/src/cmd/go/internal/work/build.go b/src/cmd/go/internal/work/build.go index 9d0ad27f0d..9b1acf987d 100644 --- a/src/cmd/go/internal/work/build.go +++ b/src/cmd/go/internal/work/build.go @@ -617,6 +617,7 @@ func runInstall(ctx context.Context, cmd *base.Command, args []string) { } } + modload.InitWorkfile() BuildInit() pkgs := load.PackagesAndErrors(ctx, load.PackageOpts{}, args) if cfg.ModulesEnabled && !modload.HasModRoot() { diff --git a/src/cmd/go/testdata/script/work_install_submodule.txt b/src/cmd/go/testdata/script/work_install_submodule.txt new file mode 100644 index 0000000000..3d1171736d --- /dev/null +++ b/src/cmd/go/testdata/script/work_install_submodule.txt @@ -0,0 +1,36 @@ +# This is a regression test for golang.org/issue/50036 +# Don't check sums for other modules in the workspace. + +cd m/sub +go install -n + +-- go.work -- +go 1.18 + +use ( + ./m + ./m/sub +) +-- m/go.mod -- +module example.com/m + +go 1.18 + +-- m/m.go -- +package m + +func M() {} +-- m/sub/go.mod -- +module example.com/m/sub + +go 1.18 + +require example.com/m v1.0.0 +-- m/sub/main.go -- +package main + +import "example.com/m" + +func main() { + m.M() +} |