每个人遇到的问题都不尽相同,我是看了网上不少的文章,最后从每篇文章中借鉴了一点,最终解决了我自己的问题,中途劝退很多次,贵在坚持,目前算是解决了。总结一下步骤:
前提:Go和VScode已成功安装。
步骤:
一、设置代理:
借鉴的文章:https://learnku.com/articles/69071
Win+R打开终端,依次输入内容并回车:
- go env -w GO111MODULE=on 或 auto 我设置为on
- go env -w GOPROXY=代理地址,direct
笔者注:原文这一步是go env -w GOPRIVATE=代理地址,direct ,我猜是笔误了,应该是GOPROXY。
//“direct” 为特殊指示符,用于指示 Go 回源到模块版本的源地址去抓取(比如 GitHub 等),当值列表中上一个 Go module proxy 返回 404 或 410 错误时,Go 自动尝试列表中的下一个,遇见 “direct” 时回源,遇见 EOF 时终止并抛出类似 “invalid version: unknown revision…” 的错误。
笔者注:这段没看明白,但无碍。
二、配置插件
第一阶段:问题初步解决
VSC以管理员身份运行,Ctrl+Shift+P打开搜索框,输入Go:Install,在弹出的选项中选择Go:Install/Update Tools,会弹出所有还没安装的Go插件。
此时全部选中,点击确定,可能会失败。可能部分失败,也可能全部失败,这是国内和国外网关问题。也是劝退点。我试了很多次都失败了,反复的挣扎中,甚至把控制台反馈的安装失败信息都仔细看了一遍。
根据该文章,安装失败是因为我们默认安装go的位置为C:\Program Files\Go\,这个文件夹要管理员权限才能访问,解决方法:
- Windows左下角的搜索框搜索cmd
- 然后右键,使用管理员身份运行
- 然后go get golang.org/x/tools/gopls@v0.6.9,上面哪个安装失败就安装哪个
- 然后重启vscode,在vscode右下角有提示安装插件,点击install即可
我按照文章执行操作,安装仍然失败,提示信息:
'go get'is no longer supported outside a module.To build and install a command, use 'go install' with a version……
第二阶段:问题进一步解决
根据该文章,官方说自1.17之后,不应该用go get下载安装命令(即可执行程序),如果使用go get安装命令,就会提示上述警告,也就是说go get只能下载普通的包,如果下载安装程序需要用go install。
于是在cmd(管理员身份打开)中,输入“go install VSC中显示安装失败的插件“,一个一个安装,均无报错,终端界面每次都返回到原来的执行位置,再安装下一个。
全部执行后,重启VSC,Ctrl+Shift+P打开搜索框,输入Go:Install,在弹出的选项中选择Go:Install/Update Tools,还会弹出这些安装失败的Go插件选项。我每次选一个点击确定,结果都是SCCEEDED安装成功了。再次运行Go程序,VSC不再提示插件未安装了。
——以上步骤已在两台电脑上执行过,均可行。
三、总结
昨晚从7点搞到凌晨1点多,腰酸背痛,今早睡不醒。但是坚持坚持就会有所进步。我们普通人也只能这样不断努力,日拱一卒。