每次我尝试为create-react-app运行npm start时,都会出现此错误。我已经卸载了node.js,重新安装了它,并做了我能想到的一切,但是我似乎无法修复。这是我的错误:
> react-scripts start
/Users/Eduardo/my-app/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/Eduardo/my-app/node_modules/ajv/lib/keyword.js:65:13)
at module.exports (/Users/Eduardo/my-app/node_modules/ajv-errors/index.js:10:7)
at Object.<anonymous> (/Users/Eduardo/my-app/node_modules/schema-utils/src/validateOptions.js:22:1)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! my-app@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the my-app@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/Eduardo/.npm/_logs/2019-02-10T01_38_44_462Z-debug.log
答案 0 :(得分:0)
要启动React,您需要:
您应该看到下载Node.js的链接。点击下载链接 你的选择。按照后续说明进行安装 Node.js和npm。如果您已经安装了Node.js,那没关系, 无论如何都要做。
创建一个新文件夹
npm init react-app .
npm start
答案 1 :(得分:0)
今天出了点问题。我已经开发了React应用一段时间了。老人 ... npm create-react-app,您对npm init react-app的建议。或者,npm init react-app my-app。无论我如何尝试,都会遇到上述错误。我的npm是6.7.0,节点是8.11.1。
我不确定,但是有些不对。
答案 2 :(得分:0)
这是我为使其工作而做的事情(黑客),但我强烈建议由负责此库的人修复此问题。
在节点模块中(通过以下任意一种生成:通过create-react-app应用名称,或npm init react-app应用名称,或npx create-react-app应用名称……等等)...转到目录 node = modules / avj / lib / keywords.js ...并转到具有以下内容的第65行:
如果(!validateDefinition(definition)) 抛出新错误('自定义关键字定义无效:'+ this.errorsText(validateDefinition.errors));
评论为:
// if (!validateDefinition(definition))
// throw new Error('custom keyword definition is invalid: ' +
// this.errorsText(validateDefinition.errors));
保存...并返回目录,>> npm start
注意:这是一个hack,我不知道长期影响是什么。另外,如果您对其进行黑客攻击,则...如果您尝试将应用程序部署在将从package.json文件生成的云中(例如Heroku),它将重新创建这些行,并且该应用程序将无法在云中启动。因此,除非您只是想克服愚蠢的错误,否则不建议这样做。