Expo项目启动遭遇EPERM权限错误,如何解决?
解决Expo启动时EPERM权限错误的方案
我之前在Windows环境下开发Expo项目时,也碰到过一模一样的问题,这个报错本质是Expo无法重命名它的状态文件,大概率是文件被后台进程占用或者系统权限受限导致的,试试下面这几个解决方案:
先把你的报错信息贴出来方便参考:
Uncaught Error Error: EPERM: operation not permitted, rename 'C:\Users\예원.expo\state.json.1218894428' -> 'C:\Users\예원.expo\state.json'
npm ERR! code 1
npm ERR! path C:\KeywordAlarm
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c expo start
npm ERR! 本次运行的完整日志可查看:npm ERR! C:\Users\예원\AppData\Local\npm-cache_logs\2021-02-09T13_39_43_115Z-debug.log
具体解决步骤:
- 关闭所有相关进程:先把正在运行的
expo start终端窗口关掉,手机上的Expo Go app也彻底退出(别留在后台),有时候后台进程会死死占用state.json文件,导致无法重命名。 - 手动清理Expo状态文件:找到路径
C:\Users\예원\.expo,把里面的state.json以及带数字后缀的临时文件(比如state.json.1218894428)全部删除,然后重新运行expo start。 - 清理npm缓存:打开终端执行
npm cache clean --force,缓存混乱也可能引发这类权限问题,清理完再启动项目试试。 - 检查权限或用管理员身份运行:右键点击你的项目文件夹
C:\KeywordAlarm,选择「属性」→「安全」,确认当前用户拥有「完全控制」的权限;或者直接用管理员身份打开终端,再执行expo start。
一般前两个步骤就能解决问题,如果还是不行再尝试后面的方法。
内容的提问来源于stack exchange,提问作者Yewon Kim




