VSCode 配置Go环境,弹出警告“golps”等插件要求下载但下载时超时、失去连接等 解决方案

news2024/12/26 22:03:36

1. 背景:

下载完GO环境和VSCode的GO配套插件后,试图运行hello world程序,此时VSCode弹出警告:

 

提示有几个go的工具没有下载,于是我点击install 下载:

==》下载时报错,一般是出现超时timeout错误,

输出的报错如下:(我这是提示了三个tool(dlv staticcheck gopls )缺少,所以下载三个)

Tools environment: GOPATH=/Users/apple/go
Installing 3 tools at /Users/apple/go/bin in module mode.
  dlv
  staticcheck
  gopls

Installing github.com/go-delve/delve/cmd/dlv@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/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 timeout\n"
}
Installing honnef.co/go/tools/cmd/staticcheck@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/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 timeout\n"
}
Installing golang.org/x/tools/gopls@latest FAILED
{
 "killed": false,
 "code": 1,
 "signal": null,
 "cmd": "/usr/local/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 timeout\n"
}

3 tools failed to install.

dlv: failed to install dlv(github.com/go-delve/delve/cmd/dlv@latest): Error: Command failed: /usr/local/bin/go install -v github.com/go-delve/delve/cmd/dlv@latest
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 timeout
 
staticcheck: failed to install staticcheck(honnef.co/go/tools/cmd/staticcheck@latest): Error: Command failed: /usr/local/bin/go install -v honnef.co/go/tools/cmd/staticcheck@latest
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 timeout
 
gopls: failed to install gopls(golang.org/x/tools/gopls@latest): Error: Command failed: /usr/local/bin/go install -v golang.org/x/tools/gopls@latest
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 timeout

一看全都是timeout错误

2. 解决方案:

ref : vscode 安装go环境无法安装gopls等插件,响应超时、失去连接等问题的简单解决方案_Remember to smile的博客-CSDN博客

干货满满的 Go Modules 和 goproxy.cn - 掘金 

简言之,超时一般是因为连不上golang服务器,所以我们要换一下连接的网站:

方法是:

Step(1) : 在命令行中直接输入以下两条语句:

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

含义是:GO111MODULE简言之是一个模块管理器,有了它就不用再像之前一样修改GOPATH了(“Go modules 出现的目的之一就是为了解决 GOPATH 的问题,也就相当于是抛弃 GOPATH 了”),我们通过令GO11MODULE值置为on强制要求使用gomodule来管理模块

事实上,GO1.11就可以使用gomodule来管理模块了,但是,go的1.11和1.12版本的gomodule有些不稳定,但是,go1.13之后的版本都是可以稳定支持gomodule模块管理的

[ps-1]:模块和包的关系是:模块 包含 包,一个模块 (可能)包含有 多个包

[ps-2]查看go版本的语句:(在命令行直接输入)

go version

而后,将拉取go tools的网站通过 GOPROXY 重置为上述的 https://goproxy.cn (国内go网站)

direct参数的含义我没咋看,有需要的放个链接在这:GOPROXY变量中的direct的作用是什么 · Issue #21 · goproxy/goproxy · GitHub

Step(2) : 下载之前没有下好的tools

具体方法是:

刚刚上述的报错中,每个tool对应一组内容,这里我以 dlv为例解释下:

如上图所示,dlv在下载时会有一系列的参数指令,我们只需要关注cmd指令就可以了,即红色框框住的指令:go install -v github.com/go-delve/delve/cmd/dlv@latest 

这个就是我们一会手动要在cmd中敲进去的下载dlv 这个工具的指令:

然后就会下载,就OK了,下载到的位置也可以查看到:首先通过在cmd中输入指令:go env GOPATH 得到GO的路径,然后进入对应路径文件夹,有一个bin目录,下面就是我刚下载的几个tools 

 Step(3) : 记得最后将gomodule管理器重置为off,否则可能会出现奇怪错误

这个步骤存疑,因为我没关也没出啥错误,但是还是建议关闭一下

在cmd中敲入如下指令:

go env -w GO111MODULE=off

可能出现的错误是:运行任何代码都会提示缺 main.go:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/164125.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

57 mac 中 SIGINFO 信号, jdk8 支持, 但是 jdk9 不支持?

前言 问题来自于文章 shell脚本 后台启动 程序1 “tail -f log“, ctrl c 导致程序1中断 中的测试用例 Test07Signal2ParentProcess, 可以看到 我当时标记了一个 "todo, not work in hostpostVM9" 然后 问题是这样的, 我同一台机器, 然后 jdk8 带上 SIGINFO 去执行…

【已解决】右键以某应用打开xx文件时,没有“默认”选项怎么办

问题解决方案简单来说详细操作解释问题 右键以某应用打开xx文件时,没有“默认”选项 解决方案 简单来说 在注册表:计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\找到要打开的文件后缀名,删除…

mybatis plus基本使用初体验01

我们都知道MyBatis是目前比较常用的持久层框架;这个框架的使用也是很简单的,我们在使用的时候,只需要关注mapper的接口层和对应的xml文件即可。 但是MyBatis作为一个半自动框架,是需要我们自己手动编写sql语句的,对于…

Linux系统软件安装

在Linux上部署各类软件MySQL数据库管理系统安装部署简介注意MySQL5.7版本在CentOS系统安装安装配置MySQL8.0版本在CentOS系统安装安装配置MySQL5.7版本在Ubuntu(WSL环境)系统安装安装MySQL8.0版本在Ubuntu(WSL环境)系统安装安装To…

Web服务统一身份认证协议设计与实现

单点登录(SSO)是目前比较流行的企业业务整合的解决方案之一,它的机制是在企业网络用户访问企业网站时作一次身份认证,随后就可以对所有被授权的网络资源进行无缝的访问,而不需要多次输入自己的认证信息.Web服务具有松散耦合、语言中立、平台无关性、开放性的特性,通过对集中单点…

Qt扫盲-Qt 属性系统记录

Qt 属性系统记录一、概述二、属性声明三、通过元对象系统读写属性四、简单例子五、动态属性六、对一个类添加额外的属性一、概述 Qt 提供了一个复杂的属性系统,类似于一些编译器供应商提供的系统。然而,作为一个独立于编译器和平台的库,Qt并…

Java基础07——集合

Java基础07——集合一、集合和数组的对比二、ArrayList成员方法三、集合练习1. 添加数字并遍历2. 添加学生对象并遍历学生类测试类输出结果3. 添加用户对象并判断是否存在用户类测试类输出结果4. 添加手机对象并返回要求的数据(返回多个数据)手机类测试类…

【算法】Day06

努力经营当下,直至未来明朗! 文章目录1. BST二叉搜索树的后序遍历序列2. 二叉树中和为某一值的路径(二)[回溯法]3. 字符串的排列 [全排列问题]4. 最小的K个数 [topK问题]普通小孩也要热爱生活! 1. BST二叉搜索树的后序…

IF:6+ 综合分析揭示了一种炎症性癌症相关的成纤维细胞亚型在预测膀胱癌患者的预后和免疫治疗反应方面具有重要意义...

桓峰基因的教程不但教您怎么使用,还会定期分析一些相关的文章,学会教程只是基础,但是如果把分析结果整合到文章里面才是目的,觉得我们这些教程还不错,并且您按照我们的教程分析出来不错的结果发了文章记得告知我们&…

Linux 中断子系统(七):注册中断

Linux 注册中断的 API request_irq():不使用中断线程化request_threaded_irq():使用中断线程化中断线程化 为什么需要将中断下半部处理线程化,原因如下: 中断具有最高优先级,有中断发生时,会抢占进程,导致实时任务不能及时处理。中断上下文总是可以抢占进程上下文,这…

【PyTorch】教程:学习基础知识-(3) Datasets-DataLoader

Dataset & DataLoader PyTorch 提供了两个数据处理的基本方法:torch.utils.data.DataLoader torch.utils.data.Dataset 允许使用预加载的数据集以及自己的数据。 Dataset 存储样本及其对应的标签, DataLoader 在 Dataset 基础上封装了一个可迭代的对…

Python文本颜色设置

Python文本颜色设置实现过程:书写格式:数值表示的参数含义:常见开头格式:实例:实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。 转义序…

Acwing4699. 如此编码

某次测验后,顿顿老师在黑板上留下了一串数字 23333 便飘然而去。 凝望着这个神秘数字,小 P 同学不禁陷入了沉思…… 已知某次测验包含 nn 道单项选择题,其中第 i 题(1≤i≤n)有 ai 个选项,正确选项为 bi&…

CAS And Atomic

CAS(Compare And Swap 比较并交换),通常指的是这样一种原子操作:针对一个变量,首先比较它的内存值与某个期望值是否相同,如果相同,就给它赋一个新值,底层是能保证cas是原子性的CAS的应用 在Java 中,CAS 操作…

Android开发-AS学习(三)(布局)

相关文章链接:Android开发-AS学习(一)(控件)Android开发-AS学习(二)(控件)Android开发应用案例——简易计算器(附完整源码)二、布局2.1 Linearyout常见属性说…

测试NGINX和uwsgi.ini设置

1.uwsgi修改测试 将服务器升级到16核16G配置后,我将uwsgi.ini中的部分参数调整如下: processes 32 threads 16 结果是导致内存暴满,然后直接服务器都无法连接,导致服务器卡死。之前有博客说processes处理器*2,结果…

【阶段三】Python机器学习26篇:机器学习项目实战:LightGBM回归模型

本篇的思维导图: 项目实战(LightGBM回归模型) 项目背景 为促进产品的销售,厂商经常会通过多个渠道投放广告。本案例将根据某公司在电视、广播和报纸上的广告投放数据预测广告收益,作为公司制定广告策略的重要参考依据。 本项目应用LightGBM回归算法进行项目实战,整…

Nginx入门

介绍: 下载和安装: 安装过程: 1、因为nginx是由c语言编写的,所以需要下载gcc进行编译 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel 2、下载nginx安装包 wget https://nginx.org/download/nginx-1.16.1.ta…

【Java基础知识 1】第一个Java程序(Java的第一步)

本文已收录专栏 🌲《Java进阶之路》🌲 编写一个Java程序 第一个Java程序非常简单,代码如下: public class Java01_HelloWorld {public static void main(String[] agrs){System.out.println("欢迎来到Java进阶之路&#x…

蓝桥杯 stm32 按键点灯 CubeMX

注:我们使用的是 HAL 库 文章目录前言一、按键 原理图:二、按键CubeMX配置:三、代码讲解1. 读按键:( 三行代码)2.按键消抖:3,按键点灯:总结实验效果:前言 一、按键 原理…