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

Windows系统运行npm run dev修改JS文件后本地服务停止报错如何解决

Windows环境npm run dev修改文件后服务崩溃问题分析

问题根因

该问题仅出现在Windows系统的核心原因如下:

  • 核心诱因是项目存放在OneDrive同步目录下:Windows系统的OneDrive会对目录内修改的文件自动加独占锁执行同步操作,此时Node的copyfile系统调用无法获取目标文件/目录的读写权限,直接抛出EPERM错误;Linux系统不存在OneDrive的同步锁机制,因此运行正常。
  • Windows文件系统的占用机制与Linux存在差异:Windows默认禁止对已被其他进程占用的文件执行读写/复制操作,而Linux系统支持多进程同时修改同一文件,不会触发此类权限错误。
  • 项目路径包含空格(calculator workflow),部分Windows环境下的Node脚本对带空格的路径解析兼容性差,也可能加剧权限校验失败的问题。

解决方案

按优先级从高到低尝试:

  1. 将项目移出OneDrive同步目录:把项目文件夹移动到普通本地目录(例如C:\dev\projects\),无同步锁占用后问题基本可以直接解决。
  2. 若必须保留在OneDrive目录:打开OneDrive设置,将项目目录添加到「同步排除列表」,禁止OneDrive同步该目录,避免文件锁冲突。
  3. 优化脚本的文件复制逻辑:修改scripts/development.js第66行附近的复制逻辑,增加错误重试机制,捕获EPERM错误后重试2-3次(每次间隔100ms),也可以替换原生fs.copyFile为fs-extra库的copy方法,该方法对Windows平台的文件锁兼容性更好。
  4. 提升终端权限:右键点击你使用的终端(CMD/PowerShell/VS Code终端),选择「以管理员身份运行」后再执行npm run dev,排除系统权限不足的影响。
  5. 修正目录名称:将路径中的空格去除,例如把calculator workflow改为calculator-workflow,避免路径解析异常。

内容的提问来源于stack exchange,提问作者Osama Mohamed Ammar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:45:10