You need to enable JavaScript to run this app. Mac 10.13 VS Code中Node.js v12触发DEP0066弃用警告致本地服务不更新咨询
优惠活动
大模型
产品
解决方案
定价
更多

Mac 10.13 VS Code中Node.js v12触发DEP0066弃用警告致本地服务不更新咨询

异常现象梳理
  • 运行环境:macOS 10.13、Visual Studio Code
  • 技术栈:基于XMPie官方兼容要求,使用Node.js v12搭配React开发站点皮肤
  • 触发场景:从VS Code启动本地localhost测试服务,修改代码并保存时固定出现两类异常:
    • 控制台弹出弃用提示:(node:77089) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
    • 关联浏览器页面不会自动同步修改内容,必须手动刷新才能看到更新
  • 复现验证:
    • XMPie技术团队确认,先安装Node.js v14再降级至v12的操作路径,可100%复现问题
    • 新建系统用户账户后问题依旧存在,可排除当前用户目录配置污染的可能
  • 已执行的无效修复操作:
    • 通过终端完全卸载node、npm
    • 手动删除全部残留Node相关文件、目录,覆盖路径包括:
      • /usr/local/lib/node_modules
      • /usr/local/lib/node_modules/npm/node_modules
      • /usr/local/include/node
      • /usr/local/lib/dtrace/node.d
      • /usr/local/share/doc/node
      • /usr/local/share/man/man1/node.1
      • /usr/local/systemtap/tapset/node.stp
    • 重启设备后全新安装Node.js v12,警告与热更新失效问题均无改善
无系统重装的可行修复方案

弃用警告处理

  • DEP0066警告来源于Node.js v12生态中,旧版本webpack-dev-server依赖的中间件调用了已被标记弃用的内部_headers属性,属于依赖版本兼容的固有问题,和本地Node安装操作无关
  • 无需修改Node核心源码,直接调整项目启动脚本即可屏蔽指定警告:
    在package.json的scripts.start配置中,将原有启动命令替换为 node --no-deprecation=DEP0066 node_modules/.bin/react-scripts start
    保存配置后重启本地服务,指定警告将不再输出,不影响其他功能正常运行

热更新失效修复

  • 热更新失效是macOS 10.13版本与Node v12默认文件监听机制兼容性不足导致:旧系统下的inotify监听在频繁切换Node大版本后会出现句柄失效,服务无法感知文件保存动作
  • 修复操作流程:
    1. 在项目根目录找到.env配置文件,不存在则手动新建
    2. 添加两项配置:
      • CHOKIDAR_USEPOLLING=true 强制开启轮询模式绕过系统监听异常
      • CHOKIDAR_INTERVAL=1000 将轮询间隔设置为1秒,平衡资源占用与更新灵敏度
    3. 保存配置后重启本地服务,代码保存后即可自动触发浏览器页面热更新
  • 兜底校验:如果配置生效异常,可在终端执行 ulimit -n 65536 临时提升系统文件句柄上限后再启动服务,避免因句柄额度不足导致监听流程中断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 05:06:03