升级MacOS Sonoma后命令行工具无法访问Documents目录
MacOS Sonoma升级后命令行工具无法访问Documents目录的解决方法
问题根源
MacOS Sonoma收紧了隐私权限管控,终端及通过终端运行的工具(git、npm、node等)需要明确获得Documents目录的访问授权,仅单独给git授权无法覆盖所有相关进程,导致工具运行时因权限不足挂起。
具体解决步骤
1. 给终端应用授予Documents访问权限
- 打开「系统设置」→「隐私与安全性」→「文件与文件夹」
- 找到你的终端应用(Terminal/iTerm2),勾选「Documents」选项
- 若未找到终端,点击下方「+」按钮,从「应用程序/实用工具」路径中添加对应终端
2. 给node/npm进程单独授权
- 在Documents目录的仓库中运行一次命令触发权限请求,比如执行
npm install - 若系统未弹出授权提示,手动添加:
- 用
which node和which npm命令获取程序路径,例如/usr/local/bin/node - 回到「文件与文件夹」设置,点击「+」,通过快捷键
cmd+shift+.显示隐藏文件,找到对应路径并添加 - 勾选刚添加的node/npm程序对应的「Documents」权限
- 用
3. 重置终端权限(针对权限混乱场景)
- 打开「文件与文件夹」设置,找到终端应用,取消所有权限勾选,重启终端后重新勾选「Documents」
- 或通过命令重置(需sudo权限):
# 重置Terminal权限 tccutil reset All com.apple.Terminal # 若是iTerm2,替换为 tccutil reset All com.googlecode.iterm2 - 重置后重启终端,重新完成授权流程
4. 检查GitHub Desktop权限
- 同样在「文件与文件夹」设置中,找到GitHub Desktop,确保「Documents」权限已勾选,避免同步时的权限冲突
验证
将仓库移回~/Documents/GitHub目录,运行git status、npm install、node -v等命令,确认工具可正常运行无挂起。
内容的提问来源于stack exchange,提问作者Brian
相关产品推荐
相关产品推荐

