我正在尝试使用
json-server
,如下所示:
$ json-server --watch db.json
但是,当我运行该命令时,我收到错误或警告,具体取决于我安装的版本:
1.0.0-alpha.1
-1.0.0-alpha.12
:
sh: json-server: command not found
或(如果通过
npx
执行):
npm ERR! could not determine executable to run
1.0.0-alpha.13
:
node:internal/errors:496
ErrorCaptureStackTrace(err);
^
TypeError [ERR_PARSE_ARGS_UNKNOWN_OPTION]: Unknown option '--watch'. To specify a positional argument starting with a '-', place it at the end of the command after '--', as in '-- "--watch"
1.0.0-alpha.14
+:
--watch/-w can be omitted, JSON Server 1+ watches for file changes by default
最小包文件(根据需要更新
json-server
版本):
{
"name": "q77787616",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "json-server --watch db.json"
},
"keywords": [],
"license": "ISC",
"dependencies": {
"json-server": "1.0.0-alpha.12"
}
}
json-server
目前正在积极开发 v1,但不幸的是,这些 alpha 版本正在使用 latest
标签发布到 npm,因此如果您只是 0.17.4
,则安装时会支持稳定版本(当前为
npm install json-server
)。他们也有各种各样的问题:
在
alpha.13
之前,根本没有安装正确的二进制文件,因此无法找到 json-server
命令。
使用
alpha.13
包含了二进制文件,但 CLI 发生了更改,使得 --watch
是无效参数:
$ npx [email protected] --help
Usage: json-server [options] <file>
Options:
-p, --port <port> Port (default: 3000)
-h, --host <host> Host (default: localhost)
-s, --static <dir> Static files directory (multiple allowed)
--help Show this message
从
alpha.14
开始,支持--watch
,但没有必要,因此该消息被简化为警告。
您可以检查当前安装的版本:
npm ls json-server
考虑到活跃的开发和 alpha 状态,目前最好的办法是显式安装稳定版本(相关文档仍然可用此处):
$ npm install json-server@0
或者,如果您想使用 alpha v1,您可以
npm install json-server@latest
获取最新版本(确保您至少有 alpha.14
)并使用命令 without --watch
标志:
$ json-server db.json