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

Node16运行json-server报primordials未定义 常规修复方案无效

问题根因

两个报错的核心原因都是依赖版本不匹配,和你之前尝试的锁graceful-fs版本、装natives、装gulp的排错方向无关:

  1. primordials is not defined报错是因为你安装的json-server@0.4.2是2015年的超老版本,它依赖的graceful-fs@3.x不兼容Node 12以上版本,你当前用的Node v16.15.0必然触发这个报错。
  2. gulp 命令无法识别报错是因为你安装的gulp-v4是废弃的第三方测试包,并非官方gulp工具,且本地安装的依赖不会直接注册全局命令,系统自然找不到。另外你这个项目跑json-server完全不需要gulp,属于排错时走了弯路。
修复步骤
  • 清理错误配置和冗余文件
    先删除项目根目录下的node_modules文件夹、package-lock.json、你之前手动创建的npm-shrinkwrap.json文件。打开package.json,删掉dependencies里的gulp-v4行,再把scripts区块里误放的"type": "module"配置删掉(这个配置属于package.json根层级配置,放在scripts里完全无效,如果你没有全项目改用ES模块的需求,直接删掉即可,避免和老版本react-scripts冲突)。
  • 安装兼容Node16的json-server版本
    在项目根目录执行命令:
    npm install json-server@0.17.4 --save-dev
    这个是适配Node 14/16的稳定版,已经替换了不兼容的老版本graceful-fs依赖,不会再触发primordials报错。
  • 重新安装全量依赖
    执行命令:
    npm install --legacy-peer-deps
    加--legacy-peer-deps是因为你用的react-scripts@2.1.3版本较老,和React 18的部分peer依赖校验规则不匹配,加参数可以跳过校验正常安装。
  • 验证启动
    依赖安装完成后,执行npm run server即可正常启动json-server服务。
补充说明

如果你后续确实需要使用gulp工具,不要装gulp-v4这个包,正确安装方式是:

  1. 全局安装gulp命令行工具:npm install gulp-cli -g
  2. 项目本地安装gulp核心包:npm install gulp --save-dev
    安装完成后才能正常调用gulp -v等命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:18:15