VSCODE 未能在 go 模块中安装工具
VSCODE faill to install tools in go module
在 VSCode 上启动 go 模块时,系统提示我安装一些工具
选择安装安装失败,在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
这些是我的 GOPATH
和 GOROOT
# 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
.
我最近在我的 Windows 机器上解决了这个问题。一开始以为是文件权限问题。但是是GOPATH环境变量的问题。
我将其设置为 2 个值:C:\Program Files\Go(这是我安装 Go 的位置)和 C:.... 这是我希望我所有的 Go 项目都去的地方。
所以我删除了第一个条目。只需让 GOPATH 指向我的硬盘驱动器上我想要所有项目的位置,嘿,转眼间,问题消失了,所有工具都正确安装了。
这可能是因为以前版本的 Go 没有被完全删除。
在 VSCode 上启动 go 模块时,系统提示我安装一些工具
选择安装安装失败,在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
这些是我的 GOPATH
和 GOROOT
# 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
.
我最近在我的 Windows 机器上解决了这个问题。一开始以为是文件权限问题。但是是GOPATH环境变量的问题。
我将其设置为 2 个值:C:\Program Files\Go(这是我安装 Go 的位置)和 C:.... 这是我希望我所有的 Go 项目都去的地方。
所以我删除了第一个条目。只需让 GOPATH 指向我的硬盘驱动器上我想要所有项目的位置,嘿,转眼间,问题消失了,所有工具都正确安装了。
这可能是因为以前版本的 Go 没有被完全删除。