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

M1芯片MacBook安装Go包报mkdir只读文件系统错误,求解决方案

M1芯片Mac安装dlv及Go相关包解决方案

错误根因说明

你遇到的go install github.com/go-delve/delve/cmd/dlv: mkdir /Desktop: read-only file system报错和系统完整性保护(SIP)无关,核心是Go环境变量配置错误:GOPATH或GOBIN参数被误设置到了系统根目录/下,而MacOS的系统根目录默认是只读挂载的,没有写入权限,完全不需要禁用SIP即可解决。

修复步骤

  • 第一步:检查当前Go环境配置
    终端执行命令查看环境参数:
    go env | grep -E 'GOPATH|GOBIN'
    
    正常配置下两个路径都应该位于你的用户目录内,格式为/Users/你的用户名/go相关路径,如果输出结果中存在直接指向/Desktop或其他根目录下路径的配置,即可确认是参数错误问题。
  • 第二步:修正环境变量配置
    M1 Mac默认使用zsh作为终端shell,执行命令编辑配置文件:
    vim ~/.zshrc
    
    如果你使用的是bash,编辑~/.bash_profile文件,在文件末尾添加以下三行配置:
    export GOPATH=$HOME/go
    export GOBIN=$GOPATH/bin
    export PATH=$PATH:$GOBIN
    
    保存退出后执行命令让配置立即生效:
    # zsh用户执行
    source ~/.zshrc
    # bash用户执行
    source ~/.bash_profile
    
  • 第三步:重新安装dlv
    不需要提前手动克隆go-delve仓库,直接全局执行安装命令即可:
    go install github.com/go-delve/delve/cmd/dlv@latest
    
    安装完成后执行dlv version验证,正常输出版本信息即为安装成功。

额外调试权限配置

如果后续使用dlv调试Go代码时遇到权限报错,不需要关闭SIP,只需执行一次以下命令开启开发者工具权限即可:

sudo DevToolsSecurity -enable

输入用户密码确认后即可正常使用调试功能。

其他Go包安装通用规则

所有Go官方工具、第三方包的安装都遵循同一逻辑:只要确保GOPATH、GOBIN配置在用户可写的目录下,都可以直接通过go install命令安装,无需修改系统级权限,更不需要禁用SIP。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:48:04