You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac执行go build时出现权限拒绝错误,go run可正常运行

Go Build 提示权限拒绝但 Go Run 正常的解决办法

问题现象

执行go build时出现如下错误:

open /Users/an../Library/Caches/go-build/32/3284dc1dfe0121246372cec7d0efeba47a547120b3fa696ef6283422d69cd994-a: permission denied
但go run命令可以正常执行代码。

原因分析

Go Build 会将编译中间产物写入系统的 Go 构建缓存目录(~/Library/Caches/go-build),若该目录或内部文件权限异常,就会触发权限拒绝错误;而 Go Run 是编译后直接在临时环境运行程序,不会将中间产物持久化到缓存目录,因此不受影响。

解决步骤

  • 清理 Go 构建缓存:执行命令
    go clean -cache
    
    该命令会清空整个 Go 构建缓存,直接解决缓存文件权限异常问题。
  • 手动修复缓存目录权限:如果清理缓存无效,可直接修改缓存目录的所属权限,执行命令(将[你的用户名]替换为实际系统用户名)
    sudo chown -R $USER:$USER /Users/[你的用户名]/Library/Caches/go-build
    
  • 排查安全软件拦截:部分杀毒软件或系统权限工具可能限制缓存目录的读写,可暂时关闭这类工具或把go-build缓存目录加入白名单。

内容的提问来源于stack exchange,提问作者Anup

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 00:22:01