go - VSCODE 无法在 go 模块中安装工具

标签 go visual-studio-code go-modules

在 VSCode 上启动 go 模块时,系统会提示我安装一些工具
enter image description here
选择安装安装失败,在vscode终端的日志下方
VSCODE 一直对我大喊“安装失败”的东西,仅仅是因为忽略了我的路径
正如你在下面看到的

Tools environment: GOPATH=/home/go
Installing 1 tool at /home/go/bin in module mode.
  gopls

Installing golang.org/x/tools/gopls FAILED

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: writing stat cache: mkdir /home/go: permission denied
go: downloading golang.org/x/tools/gopls v0.5.1
go: downloading golang.org/x/tools v0.0.0-20201017001424-6003fad69a88
go get golang.org/x/tools/gopls: mkdir /home/go: permission denied
 undefined  
这些是我的GOPATHGOROOT
# GOLANG
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
export PATH=$GOROOT/bin:$PATH
这是我的 vscode settings.json
{
    "[dart]": {
        "editor.formatOnSave": true,
        "editor.formatOnType": true,
        "editor.rulers": [
            80
        ],
        "editor.selectionHighlight": false,
        "editor.suggest.snippetsPreventQuickSuggestions": false,
        "editor.suggestSelection": "first",
        "editor.tabCompletion": "onlySnippets",
        "editor.wordBasedSuggestions": false
    },
    "workbench.iconTheme": "material-icon-theme",
    "workbench.colorTheme": "One Dark Pro",
    "dart.sdkPath": "/home/francesco/development/dart",
    "dart.openDevTools": "flutter",
    "go.formatTool": "goimports",
    "dart.checkForSdkUpdates": false,
    "go.useLanguageServer": true,
    "go.inferGopath": false,
    "go.gopath": "/home/go",
    "go.goroot": "/usr/local/go"
}

我应该采取什么措施来修复错误?

最佳答案

你的错误是:

go: writing stat cache: mkdir /home/go: permission denied
Go 尝试写入 /home/go .此文件夹源自:
export GOPATH=$HOME/go
所以看起来你的$HOME不指向您的主文件夹。 GOPATH应该指向您有写权限的文件夹,因为模块缓存位于 GOPATH 下.所以它应该指向你的用户主页下的一个文件夹,例如/home/francesco/go .

关于go - VSCODE 无法在 go 模块中安装工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64423000/

相关文章:

c# - 列出 Visual Studio Code (C#) 中的可重写方法

semantic-versioning - 戈朗 : separate versioning of multiple modules

git - 为什么 'go get' 即使配置了 ssh 也要使用 https?

angular - VSCode IntelliSense 不会建议 Angular 模块,除非在项目中手动导入

visual-studio-code - 在哪里可以找到 vscode 键绑定(bind)的可能规则?

Go Modules 无法识别 GOPATH 下的文件

user-interface - 隐藏窗口删除所有内容后显示

go - 为什么这个 Google I/O 2012 并发示例没有按预期工作?

docker - 在存储库 docker.io/library/golang 中找不到标签 1.10.3 AS base

json - 使用重复字段解码 JSON