解决 open /usr/local/go/pkg/darwin_amd64/runtime/cgo.a: permission denied

RichardTao · · 2290 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

话说今天新买一台Mac电脑,伴随着开箱的兴奋,哼着喜羊羊美羊羊的优雅小调,开始有条不紊的配置各种开发环境,轻车熟路的安装Go SDK和Golang IDE开发环境,配置好各种环境变量后,打开写了一个的项目,随手按下了Command + R键,眼角微眯嘴角微微上翘,准备享受项目极速编译的快感,然后在那一刹那,脸上的笑容僵硬了,只见一行错误跃然出现在屏幕上:
go build runtime/cgo: copying /Users/richard.tao/Library/Caches/go-build/54/54a79ca4b80c8315704d77ca3fccec80e627d58e2382b556425a53cad5340341-d: open /usr/local/go/pkg/

揉了揉眼睛再次确认,没错了,确实报错了,那屏幕上每个红色的字符都仿佛在嘲笑的我的粗浅的知识和自负的勇气。



我用颤抖的手指敲了几下键盘,在Google上搜索着这个错误,在反复浏览了48万毫秒后,自信的笑容逐渐在脸上浮现了出来,对的,没有错,我找到答案了。你也好奇答案是什么对吗? 且听我慢慢道来:

解决方案:

我们只需要使用chown命令将/usr/local/go/pkg/darwin_amd64/的权限变更为登录用户即可,具体执行命令如下:

sudo chown -R [用户名] /usr/local/go/pkg/darwin_amd64/

那么问题来了,如何查看当前的[用户名]呢?执行whoami命令即可:

$ whoami
richard.tao

那么我们最终执行的命令就是:

sudo chown -R  richard.tao  /usr/local/go/pkg/darwin_amd64/

好了,再次按下Command + R执行项目,发现顺畅的如同久逢甘霖的大地和瞬间通畅的便秘,怎一个爽字了得。
不过,好像有个什么问题被我们漏掉了,为什么在之前的老Mac电脑上搭建Go的开发环境没有遇到过这个问题呢?仔细查了一下,这是一个Golang/go的一个Bug,是因为VSCode Go扩展程序使用-i选项导致的。有兴趣的同学可以自行查阅Issue:golang/go#37962

如果这个方案解决了您的问题,请帮忙点赞♥️,让其他同学更直观的看到这个解决方案是有效的。

参考链接:
  1. [golang/vscode-go/issues/568]:https://github.com/golang/vscode-go/issues/568

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:RichardTao

查看原文:解决 open /usr/local/go/pkg/darwin_amd64/runtime/cgo.a: permission denied

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2290 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传