繁体   English   中英

为什么 npm start (在 create-react-app 之后)无法运行?

[英]Why is npm start (after create-react-app) failing to run?

在我使用 create-react-app 创建示例反应应用程序后,npm start 失败。

我已经尝试使用节点 11.4 和 10.4 (npm 6.4.1)

npm install create-react-app -g
create-react-app t2
cd t2
npm start

预期的

能够启动简单的反应服务器以在 localhost:3000 的浏览器中点击

实际的

服务器没有启动,在我的终端中得到了这个:

 $ npm start > t2@0.1.0 start /Users/samr/dev/githubs/react/t2 > react-scripts start /Users/samr/dev/githubs/react/t2/node_modules/ajv/lib/keyword.js:65 throw new Error('custom keyword definition is invalid: ' + this.errorsText(validateDefinition.errors)); ^ Error: custom keyword definition is invalid: data.errors should be boolean at Ajv.addKeyword (/Users/samr/dev/githubs/react/t2/node_modules/ajv/lib/keyword.js:65:13) at module.exports (/Users/samr/dev/githubs/react/t2/node_modules/ajv-errors/index.js:10:7) at Object.<anonymous> (/Users/samr/dev/githubs/react/t2/node_modules/schema-utils/src/validateOptions.js:22:1) at Module._compile (internal/modules/cjs/loader.js:723:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:734:10) at Module.load (internal/modules/cjs/loader.js:620:32) at tryModuleLoad (internal/modules/cjs/loader.js:560:12) at Function.Module._load (internal/modules/cjs/loader.js:552:3) at Module.require (internal/modules/cjs/loader.js:659:17) at require (internal/modules/cjs/helpers.js:22:18) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! t2@0.1.0 start: `react-scripts start` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the t2@0.1.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! /Users/samr/.npm/_logs/2019-02-09T23_19_40_848Z-debug.log

正如@atsnam 所说,你可以在这里找到解决方案https://github.com/webpack/webpack/issues/8768

如果你使用纱线

将下面添加到 package.json

"resolutions": {
  "ajv": "6.8.1"
}

然后运行yarn install

如果你使用 npm

npm uninstall ajv
npm install ajv@6.8.1

那对我有用

这里提到了快速修复:

基本上去node_modules/ajv/lib/keyword.js并注释掉第 64 和 65 行。

只需将resolutions添加到您的 package.json 中,如下所示:

  { 
    "dependencies": {
      ...
    }
    "resolutions": {
      "ajv": "6.8.1"
    }
  }

然后运行npm install 如果你使用纱线, yarn install

根据 Github 中的建议答案,以下更改使我能够工作。

To fix this error, just change:
Line 14: `errors: 'full',`
to:
Line 14: `errors: true`
in file **node_modules\ajv-errors\index.js**

接受的答案对我不起作用。 相反,我这样做了:

  • 删除了 node_modules 文件夹。
  • cd 到项目父目录。

    安装
    启动

这就像一个魅力。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM