如何为nvim安装gopls LSP

问题描述 投票:0回答:1

我在安装适用于 Neovim 的

gopls
LSP 时遇到问题。我安装了 go,但是当我使用 mason 安装 gopls 服务器时,我收到以下消息:

    ✗ gopls
  ▼ Displaying full log
    Installing go package golang.org/x/tools/[email protected]…
    golang.org/x/tools/internal/event/keys
    golang.org/x/tools/internal/diff
    golang.org/x/tools/gopls/internal/util/frob
    # golang.org/x/tools/internal/diff
    /home/yossef/go/pkg/mod/golang.org/x/[email protected]/internal/diff/ndiff.go:92:13: error: expected ‘(’
       92 | func isASCII[S string | []byte](s S) bool {
          |             ^
    /home/yossef/go/pkg/mod/golang.org/x/[email protected]/internal/diff/ndiff.go:92:16: error: expected ‘]’
       92 | func isASCII[S string | []byte](s S) bool {
          |                ^
    /home/yossef/go/pkg/mod/golang.org/x/[email protected]/internal/diff/ndiff.go:92:16: error: expected ‘;’ or newline after top level declaration
    /home/yossef/go/pkg/mod/golang.org/x/[email protected]/internal/diff/ndiff.go:93:21: error: expected declaration
       93 |         for i := 0; i < len(s); i++ {
          |                     
 ....
 ....
 ....
          |         ^
    /home/yossef/go/pkg/mod/golang.org/x/[email protected]/go/ssa/util.go:379:9: error: expected declaration
      379 |         return vals
          |         ^
    /home/yossef/go/pkg/mod/golang.org/x/[email protected]/go/ssa/util.go:381:1: error: expected declaration
      381 | }
          | ^
    spawn: go failed with exit code 2 and signal 0. 

Go版本:

go version go1.18 gccgo (GCC) 13.2.1 20240316 (Red Hat 13.2.1-7) linux/amd64

如何解决这个问题???

go neovim mason gopls
1个回答
1
投票

根据 https://github.com/golang/tools/tree/master/gopls#supported-go-versions,gopls 仅支持最新版本之前的两个版本。

因此,goplus 仅通过版本 [email protected] 支持 Go 1.18,并且您尝试安装的版本 (0.15.2) 较新。要么固定该版本的 gopls,要么使用更新版本的 Go。

© www.soinside.com 2019 - 2024. All rights reserved.