vscode下go无法识别基础工具,同时引发go get mkdir permission denied错误

go get时mkdir permission denied错误

1.问题描述

在这里插入图片描述
在这里插入图片描述
有可能之前vscode都是好好的突然间就工具就找不到,也有可能重新下载工具还出错,也有可能就算重新下载工具还用不了。

分析

1.直接差生原因

vscode在使用go extension时,会查看$GOPATH/bin下面的基础开发工具是不是完备。如下图:
在这里插入图片描述
一旦找不到相应的工具,vscode就会提示install。这是非常正常的现象,出现以上错误就是没有权限写进去文件夹。
但,问题远没那么简单,gopath一般都不会要求很高权限和goroot不一样,所以就算你释放权限也有可能不能解决问题。

2.深层次原因

很有可能gopath的路径就不对。一旦出现mkdir就说明vscode找不到这个路径,需要创建,很明显gopath不对。但你有可能会说,go env就是那个gopath,是对的啊。
在这里插入图片描述
不对,vscode可能覆盖了你的配置。可能是你不经意间修改了.vscode文件,或者直接修改了go extension的配置文件。无论是哪一种,你都首先需要找出vscode读到的gopath信息。
查看vscode当前gopath信息:

  1. 在vscode下边栏找到go x.x的按钮,点击
    在这里插入图片描述
  2. 上方出现查看当前vscode加载的go信息,点击第一个
    在这里插入图片描述
  3. 在output窗口会展示当前vscode加载的go信息。
    在这里插入图片描述
    在我的机器上,很明显GOMODCACHE的路径很不一样(这种不一样体现在,/home/xxx/go是很明显的linux目录结构,/Uers/xxx是MAC路径),说明有部分配置被覆盖了,这里的gopath是我修正后的,出错时的gopath也是/Uers/xxxx路径,这就是为什么会有mkdir /Users的错误。在这里插入图片描述
    我这边的原因是因为我直接将mac vscode的配置直接copy 到linux vscode里面了,gopath覆盖了,删除后vscode没有即使更新。

修正方法

1.增加.vscode配置文件

在这里插入图片描述

2.修改vscode tool config.go

也是对gopath或其他做修改,修改后查看一下vscode是不是加载了,方式同上方“方案”-》“2.深层次原因”。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值