如何解决React Native项目运行npm start出现EPERM权限错误的问题
问题根本原因
你当前的开发项目存放在C:\Windows\System32路径下,该目录属于Windows系统核心受保护目录,默认会限制普通用户进程的写入权限,且系统重启后目录权限规则会自动重置,这就是你每次关机后问题复现的核心诱因。
长期生效解决方案
1. 迁移项目路径(首选方案)
将C:\Windows\System32\FirstApp整个项目文件夹移动到个人用户目录下的普通路径,比如C:\Users\hatfi\Projects\FirstApp这类非系统保护路径即可。后续所有开发项目都不要存放在Windows、Program Files、Program Files (x86)这类系统级受保护目录内,迁移完成后重新执行npm start即可正常运行,重启不会再复现问题。
2. 固定项目目录权限(仅适用于必须保留项目在当前路径的场景)
如果因特殊需求必须保留项目在原路径,可手动固定目录权限:
- 右键点击
C:\Windows\System32\FirstApp文件夹,选择「属性」-「安全」选项卡 - 点击「编辑」按钮,在用户列表中选中你当前登录的Windows账户,勾选「完全控制」权限后点击「应用」
- 切换到「高级」选项卡,勾选「替换子容器和对象的权限」,点击「确定」等待权限应用完成
- 执行命令清空npm缓存,避免缓存权限异常:
npm cache clean --force
3. 配置安全软件排除规则
Windows Defender的勒索软件防护功能也可能限制开发工具写入系统目录,可按以下步骤配置:
- 打开「Windows安全中心」-「病毒和威胁防护」-「勒索软件防护」-「管理勒索软件防护」
- 将
node.exe、expo.exe添加到允许通过的应用列表,或者直接将项目目录添加到防护排除项
不建议长期以管理员权限运行VS Code/终端解决该问题,该操作会放大开发过程中的安全风险。
内容的提问来源于stack exchange,提问作者Daniel Hatfield
相关产品推荐
相关产品推荐

