macOS Sonoma(M1 Pro)创建Rails项目遇getcwd权限错误
解决macOS Sonoma(M1 Pro)下
rails new报错Errno::EPERM - getcwd的问题 错误本质
Errno::EPERM - getcwd是系统调用获取当前工作目录时权限被拒绝导致的,和cocoapods无关,通常由终端权限不足、目录权限异常或系统保护机制引发。
可行解决方案
检查终端全磁盘访问权限
打开「系统设置」→「隐私与安全性」→「全磁盘访问权限」,确认当前使用的终端(Terminal/iTerm2等)已在列表中且开关开启,重启终端后重试rails new blog。修复当前目录权限
- 执行
pwd查看当前所在目录 - 若权限不足,执行
sudo chown -R $(whoami):staff 你的目录路径修改目录归属(例如当前在~/Projects下,命令为sudo chown -R $(whoami):staff ~/Projects)
- 执行
修复RVM权限并重装Ruby
- 执行
sudo chown -R $(whoami):staff ~/.rvm修复RVM目录权限 - 执行
rvm reinstall 3.2.2重新安装对应Ruby版本,避免gem文件权限异常
- 执行
切换到无权限限制的目录尝试
执行cd ~切换到用户主目录,再执行rails new blog,避开系统保护的目录(如/Applications、/Library)临时关闭系统完整性保护(SIP,谨慎操作)
- 重启Mac,按住电源键进入恢复模式
- 打开「实用工具」→「终端」,执行
csrutil disable后重启系统 - 完成项目创建后,建议重新开启SIP:恢复模式下执行
csrutil enable
内容的提问来源于stack exchange,提问作者StackHeap
相关产品推荐
相关产品推荐

