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

React启动报invalid or unexpexted token错误,重拉Git可临时解决求根因

问题说明

我在Ubuntu 20.04系统中搭建了一个React项目,完成部分开发工作后将代码推送至Git仓库后关机。次日执行npm start命令启动项目时,出现invalid or unexpected token报错;删除本地项目文件夹后从Git仓库重新克隆即可正常运行,但隔天启动又会出现相同报错,重复删除重拉操作即可恢复。
报错截图

可能的根本原因
  • 项目依赖目录node_modules在开关机过程中出现文件损坏,该目录默认不会提交到Git仓库,因此重拉代码重新安装依赖后即可恢复正常
  • 使用nvm管理Node版本时,重启后默认Node版本自动切换,和项目适配的Node版本不匹配,导致已编译的依赖二进制文件无法正常识别
  • 项目存放在临时目录、加密目录或同步盘目录中,开关机时文件读写异常导致部分配置/依赖文件被修改
  • 系统安全工具/开机清理任务误修改或截断了项目中的JS文件,导致语法解析报错
排查步骤
  • 下次出现报错时不要直接删除项目,先执行git status和git diff命令,检查是否有未被Git跟踪的配置文件(比如.env、babel.config.js等)被意外修改
  • 根据报错提示定位到对应报错文件,打开查看内容是否存在乱码、截断情况,确认是否为文件损坏导致的语法错误
  • 执行node -v查看当前Node版本,和项目要求的版本是否一致,确认是否存在版本切换问题
  • 检查项目存放路径是否属于临时目录、同步盘目录等特殊路径
修复方案
  • 若确认是node_modules损坏:可每次启动前执行rm -rf node_modules && npm install重新安装依赖,也可换成pnpm或yarn包管理器,二者的依赖完整性校验机制更完善,可大幅降低依赖损坏概率
  • 升级npm到v8以上稳定版本,旧版本npm存在依赖安装时文件损坏的已知bug
  • 若存在Node版本切换问题,执行nvm alias default <项目适配的Node版本号>设置默认版本,避免重启后版本漂移
  • 将项目目录加入系统安全工具、清理任务的白名单,避免文件被误改
  • 不要将项目存放在临时目录、同步盘或加密盘分区中

内容的提问来源于stack exchange,提问作者Hasnain Nisan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:45:04