#Node.js
共 35 篇文章
Node.js 第二次 HTTP 请求报 ECONNRESET,检查连接复用
第一次请求返回,下一次却报连接重置:检查核心HTTP模块的reusedSocket、空闲关闭和Agent,只有可安全重复的操作才做有界重试。
Node Error 留住内存
旧 Node 的 Error 可经 Immediate 引用链保留其他请求存储。核对 24.20.0 清理,并区分跨请求保留与 Error 自己的调用帧。
Node watch 不执行应用
NODE_OPTIONS 的下划线 watch 别名没从子进程过滤,应用不运行却递归生成进程。核对规范拼写与实际 macOS、Windows 监听条件。
fs.watch 收到 rename 后,不再发现文件修改
Linux、macOS原子保存可能把文件换成新inode。检查真实保存方式,监听稳定父目录并重新读取当前内容,处理缺失文件名和读取竞态。
pnpm 锁文件读出了零依赖
pnpm-lock.yaml 可能包含环境与项目两个 YAML 文档。依赖图取最后一个,完整软件清单读全部文档,避免解析成功却漏掉项目依赖。
Vite 没有热更新
Vite 不热更新,项目祖先目录却叫 test-results。检查 Chokidar 默认忽略、ignored 追加规则与真实源码位置,不把轮询当成取消过滤。
ts-node 报未知扩展名
启用 pnpm 全局虚拟仓库后,ts-node 报 ERR_UNKNOWN_FILE_EXTENSION。检查注入的 --import 如何改变主入口,核对 12.11.2 分类修复与模块约定。
Node.js exec 报 stdout maxBuffer length exceeded
命令已输出数据,父进程收集却超限。按字节核对stdout与stderr,减少无用字段,选择有限缓冲或有界流式处理,保留完整结果检查。
Buffer indexOf 返回负偏移
大 Buffer 在高于 2 GiB 的命中位置可能返回溢出的负数,导致游标回退。核对 Node 26.11.1 修正与受控高偏移验收。
BullMQ 任务一直 waiting:Queue 与 Worker 的 prefix 不一致
Queue和Worker前缀不一致会访问不同命名空间。对照endpoint、db、队列名称和prefix,处理旧任务归属,不盲目重命名Redis键。
本地 npm ci 成功,CI 锁文件校验失败:比较 legacy-peer-deps
锁文件存在仍报 in sync 或 Missing 时,核对 npm 版本和依赖树配置;统一项目策略后再审查锁文件,保留 peer 兼容性检查。
Node 编译缓存卡住
Windows 的 enableCompileCache 在特定长路径布局中不返回并持续占 CPU。核对 26.11.1 有界目录重试,按实例关闭缓存或审查短目录。
pnpm Infinity 参数报错
pnpm 拒绝 --workspace-concurrency=Infinity,测试脚本还没运行。核对 12.11.2 参数修复、实际启动版本与有限并发替代的含义。
BullMQ Worker 报 maxRetriesPerRequest must be null
Worker传入已有ioredis需要符合后台重试规则。单独配置消费者连接,保留HTTP生产者有界等待、错误处理和共享连接关闭顺序。
Node 测试抛错却通过
Node none 隔离测试文件先注册再加载抛错,可能少跑测试却退出 0。核对 26.11.1 仍存的分支与默认 process 隔离、测试数量验收。
Vite 监听文件报 EBUSY
Vite dev 监听后端生成的 DLL 报 EBUSY 后退出,核对旧 watcher 错误事件与 8.3.4 正式处理逻辑,并保留真正需要的监听范围。
Actions 报 Can't store NODE_OPTIONS using GITHUB_ENV
合法的NODE_OPTIONS文本仍会被GITHUB_ENV变量名策略拦截。把已审核的选项放到实际Node步骤env,检查预加载可信性、Node允许列表和参数范围。
pnpm -s lint 被拒绝
pnpm -s lint 报 unexpected argument,显式 run 却能执行。区分隐式脚本入口回归,以及 -s 的 sequential 与 --silent 两种不同意图。
Node.js 输出被截断,增大 maxBuffer 仍无效
管道中输出尚未写完,生产方process.exit就可能丢失尾部。区分缓冲超限与过早退出,在实际子程序里设置退出码并完成关闭流程。


