话说今天新买一台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
如果这个方案解决了您的问题,请帮忙点赞♥️,让其他同学更直观的看到这个解决方案是有效的。
参考链接:
- [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