Mac OS 12运行gradle wrapper提示setcwd()无对应目录错误如何解决
问题原因
- 你本地全局安装的Gradle版本为7.2,运行gradle命令时默认会启动对应版本的Gradle守护进程提升执行效率,而守护进程启动必须的工作目录
/Users/amoriodi/.gradle/daemon/7.2不存在,导致进程无法切换工作目录,触发报错。 - 该目录丢失常见原因包括手动删除过
~/.gradle下的子文件、系统清理工具误删路径、或者当前用户对~/.gradle目录没有读写权限。
解决方法
- 方法1:手动创建缺失的守护进程目录
执行如下命令创建对应路径:
创建完成后重新运行mkdir -p ~/.gradle/daemon/7.2gradle wrapper --gradle-version 2.0命令即可。 - 方法2:临时禁用守护进程执行命令
运行wrapper命令时添加--no-daemon参数跳过守护进程启动,不需要创建目录即可直接执行:gradle wrapper --gradle-version 2.0 --no-daemon - 方法3:修正目录权限(如果执行上述操作后仍然报错)
若权限不足导致目录无法被正常访问或创建,执行如下命令修正~/.gradle目录的所属权限:
输入用户密码确认后重新运行原命令即可。sudo chown -R $(whoami) ~/.gradle
内容的提问来源于stack exchange,提问作者qwerty
相关产品推荐
相关产品推荐

