栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

Mac 解决VSCode安装Go tools失败的问题

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mac 解决VSCode安装Go tools失败的问题

今天打算学习一下 Go,在安装完VS Code 后,编写第一个go程序保存代码时,IDE 提示如下错误:

点击 install all 按钮安装这些扩展时,报错:

Installing 9 tools at /var/www/go/bin in module mode.
  go-outline
  gotests
  gomodifytags
  impl
  goplay
  dlv
  staticcheck
  gopls
  goimports

Installing github.com/ramya-rao-a/go-outline@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/go/bin/go install -v github.com/ramya-rao-a/go-outline@latest",
 "stdout": "",
 "stderr": "go: github.com/ramya-rao-a/go-outline@latest: module github.com/ramya-rao-a/go-outline: Get "https://proxy.golang.org/github.com/ramya-rao-a/go-outline/@v/list": dial tcp 142.251.42.241:443: i/o timeoutn"
}
Installing github.com/cweill/gotests/gotests@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/go/bin/go install -v github.com/cweill/gotests/gotests@latest",
 "stdout": "",
 "stderr": "go: github.com/cweill/gotests/gotests@latest: module github.com/cweill/gotests/gotests: Get "https://proxy.golang.org/github.com/cweill/gotests/gotests/@v/list": dial tcp 142.251.42.241:443: i/o timeoutn"
}
Installing github.com/fatih/gomodifytags@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/go/bin/go install -v github.com/fatih/gomodifytags@latest",
 "stdout": "",
 "stderr": "go: github.com/fatih/gomodifytags@latest: module github.com/fatih/gomodifytags: Get "https://proxy.golang.org/github.com/fatih/gomodifytags/@v/list": dial tcp 142.251.42.241:443: i/o timeoutn"
}
Installing github.com/josharian/impl@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/go/bin/go install -v github.com/josharian/impl@latest",
 "stdout": "",
 "stderr": "go: github.com/josharian/impl@latest: module github.com/josharian/impl: Get "https://proxy.golang.org/github.com/josharian/impl/@v/list": dial tcp 142.251.42.241:443: i/o timeoutn"
}
Installing github.com/haya14busa/goplay/cmd/goplay@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/go/bin/go install -v github.com/haya14busa/goplay/cmd/goplay@latest",
 "stdout": "",
 "stderr": "go: github.com/haya14busa/goplay/cmd/goplay@latest: module github.com/haya14busa/goplay/cmd/goplay: Get "https://proxy.golang.org/github.com/haya14busa/goplay/cmd/goplay/@v/list": dial tcp 142.251.42.241:443: i/o timeoutn"
}
Installing github.com/go-delve/delve/cmd/dlv@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/go/bin/go install -v github.com/go-delve/delve/cmd/dlv@latest",
 "stdout": "",
 "stderr": "go: github.com/go-delve/delve/cmd/dlv@latest: module github.com/go-delve/delve/cmd/dlv: Get "https://proxy.golang.org/github.com/go-delve/delve/cmd/dlv/@v/list": dial tcp 142.251.42.241:443: i/o timeoutn"
}
Installing honnef.co/go/tools/cmd/staticcheck@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/go/bin/go install -v honnef.co/go/tools/cmd/staticcheck@latest",
 "stdout": "",
 "stderr": "go: honnef.co/go/tools/cmd/staticcheck@latest: module honnef.co/go/tools/cmd/staticcheck: Get "https://proxy.golang.org/honnef.co/go/tools/cmd/staticcheck/@v/list": dial tcp 142.251.42.241:443: i/o timeoutn"
}
Installing golang.org/x/tools/gopls@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/go/bin/go install -v golang.org/x/tools/gopls@latest",
 "stdout": "",
 "stderr": "go: golang.org/x/tools/gopls@latest: module golang.org/x/tools/gopls: Get "https://proxy.golang.org/golang.org/x/tools/gopls/@v/list": dial tcp 142.251.42.241:443: i/o timeoutn"
}
Installing golang.org/x/tools/cmd/goimports@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/go/bin/go install -v golang.org/x/tools/cmd/goimports@latest",
 "stdout": "",
 "stderr": "go: golang.org/x/tools/cmd/goimports@latest: module golang.org/x/tools/cmd/goimports: Get "https://proxy.golang.org/golang.org/x/tools/cmd/goimports/@v/list": dial tcp 142.251.42.241:443: i/o timeoutn"
}

9 tools failed to install.
失败原因

golang.org 在国内由于一些众所周知的原因无法直接访问,而go get在获取gocode、go-def、golint等插件依赖工具的源码时,需要从 golang.org 上拉取部分代码至GOPATH,自然就导致了最后这些依赖于 golang.org 代码的依赖工具安装失败。

解决办法
  1. 首先进入GOPATH/src/目录(不知道自己GOPATH路径的,在终端输入go env命令查看)
  2. 创建golang.org/x目录。
#创建 golang.org/x 目录
mkdir -p golang.org/x
#进入新建目录内
cd golang.org/x
  1. 使用下列命令下载插件依赖工具的源码
➜  git clone https://github.com/golang/tools.git tools
Cloning into 'tools'...
remote: Enumerating objects: 62854, done.
remote: Counting objects: 100% (27/27), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 62854 (delta 3), reused 25 (delta 2), pack-reused 62827
Receiving objects: 100% (62854/62854), 28.92 MiB | 13.25 MiB/s, done.
Resolving deltas: 100% (45394/45394), done.

git clone命令执行完毕后,所需的工具源码就都保存在tools目录中。

  1. 进入GOPATH目录,根据之前的安装失败提示信息安装对应的依赖工具
go install  -v github.com/ramya-rao-a/go-outline@latest
go install  -v github.com/cweill/gotests/gotests@latest
go install  -v github.com/fatih/gomodifytags@latest
go install  -v github.com/josharian/impl@latest
go install  -v github.com/haya14busa/goplay/cmd/goplay@latest
go install -v github.com/go-delve/delve/cmd/dlv@latest
go install -v honnef.co/go/tools/cmd/staticcheck@latest
go install -v golang.org/x/tools/gopls@latest
go install -v golang.org/x/tools/cmd/goimports@latest

插件安装完毕后重启 VS Code,插件就可以正常使用了。

go-tools安装包下载
提取码: ihu5
安装方法参考文件夹中的 README.md

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/902793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号