运行 json-server --watch 时出现意外错误和警告

问题描述 投票:0回答:1

我正在尝试使用

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"
  }
}
javascript npm json-server
1个回答
0
投票

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
© www.soinside.com 2019 - 2024. All rights reserved.