错误“自定义关键字定义无效:data.errors 应该是布尔值”

IT技术 reactjs create-react-app ajv
2021-04-29 13:22:04

我刚刚使用以下命令创建了一个新的 React 应用程序:

create-react-app mysite.com

安装后,当我尝试使用npm startand打开它时yarn start,出现以下错误。

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/myAccount/Documents/Dev/Projects/ReactJS/mysite.com/node_modules/ajv/lib/keyword.js:65:13)

我该如何解决这个问题?

4个回答

恢复到 ajv 库的稳定版本也有效:

npm uninstall ajv
npm install ajv@6.8.1

我认为这是“@symfony/webpack-encore”:“^0.23.0”带来的新东西。但是,ajv库存在问题

脏修复:

node_modules\ajv-errors\index.js

将第errors:14 行参数从更改'full'true

清洁修复(临时):

使用以下内容修改您的package.json

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

node_modules/ajv/lib/keyword.js在第 64-65 行注释掉一个变通解决方案:

if (!validateDefinition(definition))
  throw new Error('custom keyword definition is invalid: '  + this.errorsText(validateDefinition.errors));

参考:https : //github.com/webpack/webpack/issues/8768

当我尝试使用 npx 创建一个新的 nuxt 应用程序时出现此错误:

npx create-nuxt-app <project-name>

我做了

npm uninstall ajv
npm install ajv@6.8.1 

像@robert Rodriguez 一样,它有效,没有错误。