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

Android Studio中Ninja操作不被允许问题的排查与解决经验

解决CMake Ninja构建报错:Ninja operation is not permitted

在CMake项目开发过程中,触发Ninja构建时反复出现如下报错:

Ninja operation is not permitted

前后花费3天排查,所有常规手段均未解决问题:

  • 检查并修复Ninja二进制文件权限:chmod +x /usr/bin/ninja
  • 彻底清理CMake缓存与构建目录后重新生成配置:rm -rf build && cmake .. -G Ninja
  • 更新Ninja至最新稳定版本,甚至更换不同编译渠道的Ninja二进制文件
  • 确认当前用户对项目目录、构建目录拥有完整读写权限,尝试切换root用户执行构建
  • 排查系统磁盘空间、inode使用情况,排除资源不足导致的异常

最终通过一个非常规方法解决了问题:

我的开发环境采用VSCode Remote SSH连接远程服务器,项目目录挂载自本地SMB共享磁盘。尝试将构建目录迁移至远程服务器的本地磁盘(例如/tmp/build-my-project),重新执行CMake配置与Ninja构建后,报错直接消失。

经排查,问题根源在于SMB共享目录的权限映射存在隐藏异常,Ninja在创建临时文件、同步文件状态时触发了系统权限拦截,但报错信息过于模糊,导致初期未联想到共享存储的权限问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 09:01:33