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

使用json-server-auth作为中间件启动json-server失败求助

问题:启动带json-server-auth中间件的json-server时提示找不到json-server模块

问题场景

按照官方文档执行以下命令启动json-server并加载json-server-auth中间件:

json-server data/db.json -m ./node_modules/json-server-auth --port 8000

运行后抛出模块找不到错误:

\{^_^}/ hi!

  Loading data/db.json
  Loading ./node_modules/json-server-auth
Error: Cannot find module 'json-server'
Require stack:
- G:\learn-nest\node_modules\json-server-auth\dist\guards.js
- G:\learn-nest\node_modules\json-server-auth\dist\index.js
- C:\Users\AppData\Roaming\npm\node_modules\json-server\lib\cli\run.js
- C:\Users\AppData\Roaming\npm\node_modules\json-server\lib\cli\index.js
- C:\Users\AppData\Roaming\npm\node_modules\json-server\lib\cli\bin.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1142:15)
    at Module._load (node:internal/modules/cjs/loader:983:27)
    at Module.require (node:internal/modules/cjs/loader:1230:19)
    at require (node:internal/modules/helpers:179:18)       
    at Object.<anonymous> (G:\learn-nest\node_modules\json-server-auth\dist\guards.js:6:20)
    at Module._compile (node:internal/modules/cjs/loader:1368:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1426:10)
    at Module.load (node:internal/modules/cjs/loader:1205:32)
    at Module._load (node:internal/modules/cjs/loader:1021:12)
    at Module.require (node:internal/modules/cjs/loader:1230:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'G:\\learn-nest\\node_modules\\json-server-auth\\dist\\guards.js',
    'G:\\learn-nest\\node_modules\\json-server-auth\\dist\\index.js',
    'C:\\Users\\AppData\\Roaming\\npm\\node_modules\\json-server\\lib\\cli\\run.js',
    'C:\\Users\\AppData\\Roaming\\npm\\node_modules\\json-server\\lib\\cli\\index.js',
    'C:\\Users\\AppData\\Roaming\\npm\\node_modules\\json-server\\lib\\cli\\bin.js'
  ]
}  

已执行的排查操作

  • 同时完成了json-server和json-server-auth的全局+本地安装
  • 单独启动json-server无异常,命令如下:
json-server --watch data/db.json --port 8000

当前使用版本:json-server@1.0.0-alpha.23、json-server-auth@2.1.0


解决方法

1. 使用本地json-server启动

全局安装的json-server无法读取本地项目node_modules中的依赖,改用本地命令触发:

npx json-server data/db.json -m ./node_modules/json-server-auth --port 8000

或者在项目的package.json中配置启动脚本:

{
  "scripts": {
    "mock": "json-server data/db.json -m ./node_modules/json-server-auth --port 8000"
  }
}

之后执行npm run mock即可启动。

2. 统一依赖安装方式

卸载全局的两个包,仅保留本地开发依赖:

npm uninstall -g json-server json-server-auth
npm install json-server json-server-auth --save-dev

后续通过npx或npm scripts启动即可避免依赖路径问题。

3. 调整版本兼容

json-server@1.x为测试版本,与json-server-auth@2.1.0存在兼容风险,降级json-server到稳定版:

npm uninstall json-server
npm install json-server@0.17.4 --save-dev

再用本地命令启动,即可正常加载中间件。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 13:58:37