目录
  • 问题背景
  • 问题原因
  • 解决方案
    • 方案1:快速方案
    • 方案2:环境变量中配置
    • 方案3:vscode中配置
  • 总结

    问题背景

    VSCode是我们开发go程序的常用工具,但是安装VSCode成功后,创建一个.go文件会有如下提示:

    VS Code安装go插件失败原因分析以及解决方案

    这个是vscode提示你需要安装go插件,但是当你点击install all进行安装时,发现会安装失败。

    Installing 8 tools at D:\pragrams\go\bin
      gocode
      gopkgs
      go-outline
      go-symbols
      dlv
      godef
      goreturns
      golint
     
    Installing github.com/mdempsky/gocode FAILED
    Installing github.com/uudashr/gopkgs/cmd/gopkgs FAILED
    Installing github.com/ramya-rao-a/go-outline FAILED
    Installing github.com/acroca/go-symbols FAILED
    Installing github.com/derekparker/delve/cmd/dlv FAILED
    Installing github.com/rogpeppe/godef FAILED
    Installing github.com/sqs/goreturns FAILED
    Installing golang.org/x/lint/golint FAILED
     
    8 tools failed to install.
     
    gocode:
    Error: Command failed: D:\install\go\bin\go.exe get -u -v github.com/mdempsky/gocode
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/mdempsky/gocode: exec: "git": executable file not found in %PATH%
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/mdempsky/gocode: exec: "git": executable file not found in %PATH%
     
    gopkgs:
    Error: Command failed: D:\install\go\bin\go.exe get -u -v github.com/uudashr/gopkgs/cmd/gopkgs
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/uudashr/gopkgs/cmd/gopkgs: exec: "git": executable file not found in %PATH%
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/uudashr/gopkgs/cmd/gopkgs: exec: "git": executable file not found in %PATH%
     
    go-outline:
    Error: Command failed: D:\install\go\bin\go.exe get -u -v github.com/ramya-rao-a/go-outline
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/ramya-rao-a/go-outline: exec: "git": executable file not found in %PATH%
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/ramya-rao-a/go-outline: exec: "git": executable file not found in %PATH%
     
    go-symbols:
    Error: Command failed: D:\install\go\bin\go.exe get -u -v github.com/acroca/go-symbols
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/acroca/go-symbols: exec: "git": executable file not found in %PATH%
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/acroca/go-symbols: exec: "git": executable file not found in %PATH%
     
    dlv:
    Error: Command failed: D:\install\go\bin\go.exe get -u -v github.com/derekparker/delve/cmd/dlv
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/derekparker/delve/cmd/dlv: exec: "git": executable file not found in %PATH%
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/derekparker/delve/cmd/dlv: exec: "git": executable file not found in %PATH%
     
    godef:
    Error: Command failed: D:\install\go\bin\go.exe get -u -v github.com/rogpeppe/godef
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/rogpeppe/godef: exec: "git": executable file not found in %PATH%
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/rogpeppe/godef: exec: "git": executable file not found in %PATH%
     
    goreturns:
    Error: Command failed: D:\install\go\bin\go.exe get -u -v github.com/sqs/goreturns
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/sqs/goreturns: exec: "git": executable file not found in %PATH%
    go: missing Git command. See https://golang.org/s/gogetcmd
    package github.com/sqs/goreturns: exec: "git": executable file not found in %PATH%
     
    golint:
    Error: Command failed: D:\install\go\bin\go.exe get -u -v golang.org/x/lint/golint
    go: missing Git command. See https://golang.org/s/gogetcmd
    package golang.org/x/lint/golint: exec: "git": executable file not found in %PATH%
    go: missing Git command. See https://golang.org/s/gogetcmd
    package golang.org/x/lint/golint: exec: "git": executable file not found in %PATH%

    问题原因

     在安装go插件时,会自动更新很多依赖库文件,都是从Github更新下来,但是因为Github的文件中,多有应用go官网中的文件,因为一些网络国内无法访问,网络缘故,不能直接下载,导致安装失败。

    解决方案

    方案1:快速方案

    核心是配置国内下载源,我们需要修改如下两个go的环境配置:

    go env -w GO111MODULE=on
    go env -w GOPROXY=https://goproxy.cn

    配置好两个变量后,重新打开VSCode,点击右下方的install all重新安装,

    或者,在vscode中使用Ctrl+Shift+P,输入>go:install,下面会自动搜索相关命令,我们选择Go:Install/Update Tools这个命令,选中所有插件,点击确定进行安装。

    问题成功解决:

    VS Code安装go插件失败原因分析以及解决方案

    方案2:环境变量中配置

    Windows在电脑 -> 系统 -> 高级系统设置 -> 用户环境中分别新建GO111MODULE和GOPROXY两个用户变量,其值如下图所示:

    GO111MODULE=on
    GOPROXY=https://goproxy.cn,direct

    或者也可以使用阿里源代理如下:

    GO111MODULE=on
    GOPROXY=https://mirrors.aliyun.com/goproxy/   
     

    配置好之后,使用Windows + R调出终端,输入cmd,通过go env命令查看go的环境变量配置是否设置成功。 

    方案3:vscode中配置

    vscode编辑器的设置在:文件 -> 首选项 -> 设置 -> 用户 -> 应用程序 -> 代理服务器路径下,如下图所示:

    VS Code安装go插件失败原因分析以及解决方案

    总结

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。