运行json-server --watch命令时出现各类错误及警告的问题咨询
json-server 运行
json-server --watch db.json的版本问题解决指南 1. 版本1.0.0-alpha.1 至 1.0.0-alpha.12:命令未找到/无法执行
错误现象
- Unix/Linux:
sh: json-server: command not found - Windows:
The term 'json-server' is not recognized as the name of a cmdlet, function, script file, or operable program... - npx执行:
npm ERR! could not determine executable to run
解决办法
这些早期alpha版本未配置好可执行命令入口,两种方案可选:
- 修改启动脚本:直接调用包内CLI文件,把package.json的scripts改成:
"scripts": { "start": "node node_modules/json-server/lib/cli.js --watch db.json" } - 升级版本:推荐升级到1.0.0-alpha.13及以上,后续版本修复了这个问题。
2. 版本1.0.0-alpha.13:Unknown option '--watch'错误
原因
该版本临时移除了--watch参数,默认不监听文件变更,也未提供替代参数。
解决办法
- 直接升级到1.0.0-alpha.14及以上版本,这些版本恢复了自动监听;
- 若必须使用这个版本,只能手动重启服务来加载db.json的修改。
3. 版本1.0.0-alpha.14及以上:--watch/-w can be omitted警告
原因
json-server 1.x从这个版本开始,默认自动监听db.json的文件变化,--watch参数已多余。
解决办法
- 移除命令里的
--watch,修改package.json的scripts:"scripts": { "start": "json-server db.json" } - 若不想修改命令,保留
--watch也不影响功能,只是会持续显示该警告,可忽略。
4. 版本1.0.0-alpha.13及以上 + Node.js v18.3.0/v16.17.0之前版本:parseArgs导出错误
错误现象
SyntaxError: The requested module 'node:util' does not provide an export named 'parseArgs'
原因
json-server 1.0.0-alpha.13+ 使用了Node.js的util.parseArgs方法,但这个方法在Node.js v16.17.0、v18.3.0才正式纳入稳定API,更低版本不支持。
解决办法
- 升级Node.js:将Node.js升级到v16.17.0、v18.3.0或更高版本;
- 降级json-server:如果无法升级Node.js,就降级到1.0.0-alpha.12或更早版本(记得对应问题1的解决方法)。
内容的提问来源于stack exchange,提问作者jonrsharpe
相关产品推荐
相关产品推荐

