如何解决vs code - gopls命令不可用

Nic*_*ole 6 go visual-studio-code

“gopls”命令不可用。运行“go get -v golang.org/x/tools/gopls”进行安装。

我正在运行 go 1.14。不确定如果我按照说明进行操作会发生什么。

在此输入图像描述


Installing 1 tool at the configured GOBIN: /usr/local/go/bin in module mode.
  gopls

Installing golang.org/x/tools/gopls FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/go/bin/go get -v golang.org/x/tools/gopls",
 "stdout": "",
 "stderr": "go: downloading golang.org/x/tools/gopls v0.6.9\ngo: golang.org/x/tools/gopls upgrade => v0.6.9\ngo: downloading golang.org/x/tools v0.1.1-0.20210319172145-bda8f5cee399
...

1 tools failed to install.

gopls: failed to install gopls(golang.org/x/tools/gopls): Error: Command failed: /usr/local/go/bin/go get -v golang.org/x/tools/gopls
go: downloading golang.org/x/tools/gopls v0.6.9
go: golang.org/x/tools/gopls upgrade => v0.6.9
go: downloading golang.org/x/tools v0.1.1-0.20210319172145-bda8f5cee399
go: downloading golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c
go: downloading honnef.co/go/tools v0.1.1
go: downloading golang.org/x/mod v0.4.1
golang.org/x/mod/semver
...

go get golang.org/x/tools/gopls: copying /var/folders/gq/bwl3jmx562x5twchgxvb6mlh0000gn/T/go-build703164122/b001/exe/a.out: open /usr/local/go/bin/gopls: permission denied
 no output 
Run Code Online (Sandbox Code Playgroud)

Bas*_*Bas 22

我遇到了同样的问题并用以下方法解决了它:

go install -v golang.org/x/tools/gopls@latest
Run Code Online (Sandbox Code Playgroud)

如果出现错误:

x\tools@v0.1.13-0.20220811140653-b901dff69f70\internal\lsp\source\hover.go:23:2: module golang.org/x/text@latest found (v0.3.7), but does not contain package golang.org/x/text/unicode/runenames
Run Code Online (Sandbox Code Playgroud)

尝试使用:

go clean -modcache
go install -v golang.org/x/tools/gopls@latest
Run Code Online (Sandbox Code Playgroud)


Han*_*ana 14

该扩展依赖于其他工具来提供必要的功能。gopls是为go语言提供代码补全、导航、搜索等语言功能所必需的核心工具之一。查看扩展所依赖的工具列表:https ://github.com/golang/vscode-go/blob/master/docs/tools.md

“安装”将安装“gopls”。“全部安装”将安装所有缺少的工具。

如果您使用的是 go1.14,请单击 按钮(或从命令面板运行“Go:安装/更新工具”命令),或者使用以下命令以模块模式安装工具(不仅仅是因为go get使用 go1.14, go 命令将尝试在 GOPATH 模式下安装该工具,这不是您想要的。)

cd /tmp/
GO111MODULE=on go get golang.org/x/tools/gopls
Run Code Online (Sandbox Code Playgroud)