Sublime Text:[Errno 2] 没有这样的文件或目录:'gopls'

Sublime Text: [Errno 2] No such file or directory: 'gopls'

在 Sublime Text 3 上安装了 LSP 服务器,然后从 LSP: Enable Language Server Globally > 选择 gopls.

启用了 gopls

也在终端上执行以下命令。

GO111MODULE=on go get golang.org/x/tools/gopls@latest

显示错误:

LSP.sublime-settings

{
    "clients":
    {
        "gopls":
        {
            "enabled": true
        }
    }
}

gopls 命令

❯  which gopls
/home/user/go/bin/gopls

我正在使用 MX Linux。请帮忙!

Source

这解决了问题。

## LSP.sublime-settings -- User
{
    "clients":
    {
        "gopls":
        {
            "command": [
                "/home/rahulbali/go/bin/gopls",
                "-v",
                "-rpc.trace",
                "-logfile=/home/rahulbali/gopls.log"
            ],
            "enabled": true,
            "env": {
                "PATH": "home/rahulbali/go/bin:/usr/local/go/bin"
            },
            "scopes":["source.go"],
            "syntaxes": [
                "Packages/Go/Go.sublime-syntax",
                "Packages/GoSublime/syntax/GoSublime-Go-Recommended.sublime-syntax",
            ],
            "settings": {
                "gopls.usePlaceholders": true,
                "gopls.completeUnimported": true,
            },
            "languageId": "go"

        }
    }
}

来源:https://github.com/golang/go/issues/43746#issuecomment-761760279

编辑:使 'gopls' 在您的 shell 路径中。

什么是 sublime text 引用:

{
    "clients": {
        "gopls": {
            "enabled": true,
            "command": ["gopls"],
            "selector": "source.go",
            "initializationOptions": {
                "experimentalWorkspaceModule": false
            }
        }
    }
}

为 gopls 二进制文件提供绝对路径 (which gopls) 应该可以解决 'not found' 问题。

{
    "clients": {
        "gopls": {
            "enabled": true,
            "command": ["/Users/xxx/go/bin/gopls"],
            "selector": "source.go",
            "initializationOptions": {
                "experimentalWorkspaceModule": false
            }
        }
    }
}