Skip to content

x/tools/gopls: packages.Load failure with conflicting go.work and go.mod toolchain versions #69646

@remko-bw

Description

@remko-bw

What version of Go, VS Code & VS Code Go extension are you using?

Version Information
  • Run go version to get version of Go from the VS Code integrated terminal.
    • go version go1.22.7 darwin/arm64
  • Run gopls -v version to get version of Gopls from the VS Code integrated terminal.
    • golang.org/x/tools/gopls v0.16.2
  • Run code -v or code-insiders -v to get version of VS Code or VS Code Insiders.
    • 1.93.1
  • Check your installed extensions to get the version of the VS Code Go extension
    • 0.42.1
  • Run Ctrl+Shift+P (Cmd+Shift+P on Mac OS) > Go: Locate Configured Go Tools command.


## Environment

GOBIN: undefined
toolsGopath: 
gopath: /Users/remko/.go
GOROOT: /Users/remko/.go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.7.darwin-arm64
PATH: ...

## Tools

	go:	/opt/homebrew/bin/go: go version go1.22.7 darwin/arm64

	gopls:	/Users/remko/.go/bin/gopls	(version: v0.16.2 built with go: go1.22.7)
	gotests:	/Users/remko/.go/bin/gotests	(version: v1.6.0 built with go: go1.22.7)
	gomodifytags:	/Users/remko/.go/bin/gomodifytags	(version: v1.17.0 built with go: go1.22.7)
	impl:	/Users/remko/.go/bin/impl	(version: v1.4.0 built with go: go1.22.7)
	goplay:	/Users/remko/.go/bin/goplay	(version: v1.0.0 built with go: go1.22.7)
	dlv:	/Users/remko/.go/bin/dlv	(version: v1.23.0 built with go: go1.22.7)
	staticcheck:	/Users/remko/.go/bin/staticcheck	(version: v0.5.1 built with go: go1.22.7)

## Go env

Workspace Folder (bw): /Users/remko/bw/bw

	GO111MODULE=''
	GOARCH='arm64'
	GOBIN=''
	GOCACHE='/Users/remko/Library/Caches/go-build'
	GOENV='/Users/remko/Library/Application Support/go/env'
	GOEXE=''
	GOEXPERIMENT=''
	GOFLAGS=''
	GOHOSTARCH='arm64'
	GOHOSTOS='darwin'
	GOINSECURE=''
	GOMODCACHE='/Users/remko/.go/pkg/mod'
	GONOPROXY=''
	GONOSUMDB=''
	GOOS='darwin'
	GOPATH='/Users/remko/.go'
	GOPRIVATE=''
	GOPROXY='https://proxy.golang.org,direct'
	GOROOT='/Users/remko/.go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.7.darwin-arm64'
	GOSUMDB='sum.golang.org'
	GOTMPDIR=''
	GOTOOLCHAIN='auto'
	GOTOOLDIR='/Users/remko/.go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.7.darwin-arm64/pkg/tool/darwin_arm64'
	GOVCS=''
	GOVERSION='go1.22.7'
	GCCGO='gccgo'
	AR='ar'
	CC='clang'
	CXX='clang++'
	CGO_ENABLED='1'
	GOMOD='/dev/null'
	GOWORK='/Users/remko/bw/bw/go.work'
	CGO_CFLAGS='-O2 -g'
	CGO_CPPFLAGS=''
	CGO_CXXFLAGS='-O2 -g'
	CGO_FFLAGS='-O2 -g'
	CGO_LDFLAGS='-O2 -g'
	PKG_CONFIG='pkg-config'
	GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/06/t4s5klwd24g25jxxgzbh6gwc0000gn/T/go-build439318135=/tmp/go-build -gno-record-gcc-switches -fno-common'

Share the Go related settings you have added/edited

  "go.lintTool": "staticcheck",
  "go.lintOnSave": "package",
  "go.vetOnSave": "package",
  "go.formatTool": "gofmt",
  "go.testFlags": ["-short"],
  "go.testEnvVars": {
    "NO_COLOR": "1"
  },
  "go.useLanguageServer": true,

Describe the bug

IntelliSense seems to be using the incorrect version of Go. I get the following error:

Screenshot 2024-09-16 at 10 47 56

I upgraded all my tools, and as you can see from the logs above, there is no mention of 1.22.5 anywhere.
Still, I get the following in my gopls log:

Screenshot 2024-09-16 at 10 34 36

Note that the version of go installed in in the PATH (/opt/homebrew/bin) is 1.22.5, but as far as I understand (and as the output of go version seem to confirm), it should use the 1.22.7 toolchain if that is what is requested by go.work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ToolsThis label describes issues relating to any tools in the x/tools repository.goplsIssues related to the Go language server, gopls.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions