无法将json-server识别为内部或外部命令

时间:2019-04-06 09:13:32

标签: reactjs npm json-server

我正在设置一个json服务器,然后将其安装并分配为我的npm start命令,

"scripts": {
    "start": "json-server -p 3001 -w db.json"

但是每次我在终端上键入npm start时,都会出现此错误

> api-server@1.0.0 start C:\Work\React-projects\streams\api-server
> json-server -p 3001 -w db.json

'json-server' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! api-server@1.0.0 start: `json-server -p 3001 -w db.json`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the api-server@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Abdelaziz\AppData\Roaming\npm-cache\_logs\2019-04-06T09_07_30_796Z-debug.log

6 个答案:

答案 0 :(得分:3)

更新node.js版本,适用于高于node.js 10版本的版本。

答案 1 :(得分:2)

第一步,请使用以下命令安装json服务器:
npm install -g json-server
然后,您可以运行以下命令并使用以下命令选择端口:
npx json-server --watch -p 3333 server.json
3333 更改为所需的端口号,并将 server.json 替换为假api的名称。

在我的情况下,我正在使用React js,而server.json在我应用程序的根目录下。 enter image description here

enter image description here

答案 2 :(得分:1)

首先,您需要检查是否已全局安装json-server。或者您可以通过以下方式全局安装

npm install -g json-server

如果您将其本地安装在项目中,请使用npx来运行它

npx json-server --watch db.json

此处npx和npm之间的结帐差异:https://stackoverflow.com/a/52018825/11285186

答案 3 :(得分:1)

您可以尝试:

  1. npm i -g json服务器
  2. 转到您的应用程序路径示例:\ angular \ TestApps \ src \ assets \ mockdata>
  3. 运行npx json-server --watch。\ db.json例如:db.josn是我的假Web API
  4. 这将在http:// localhost:3000 /上运行json服务器

答案 4 :(得分:0)

npm i -g json-server 

json-server --watch db.json

如果这不起作用

npm i -g json-server 

npx json-server --watch db.json

并且这种方式适用于Mac

答案 5 :(得分:0)

常见的错误是没有安装json-sever 包全局

什么对我有用:我使用了命令:

<块引用>

npm install -g json-server

(-g 用于全局安装包)

用于测试:

<块引用>

json-server --watch data/db.json --port 8000 (--watch 用于检查数据库文件 [此处路径 - 数据数据/db.json] 和 --port 用于手动设置端口 [此处 8000])

您现在可以查看端口 8000 上的数据了,

<块引用>

http://localhost:8000/anything

(你也可以使用 npx)