代码之家  ›  专栏  ›  技术社区  ›  Ishan Patel

错误“自定义关键字定义无效:数据。错误应为布尔值”

  •  14
  • Ishan Patel  · 技术社区  · 5 年前

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

    create-react-app mysite.com
    

    安装后,当我试图用 npm start 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 回复  |  直到 5 年前
        1
  •  24
  •   Peter Mortensen John Conde    5 年前

    恢复到ajv库的稳定版本也可以工作:

    npm uninstall ajv
    npm install ajv@6.8.1
    
        2
  •  10
  •   Peter Mortensen John Conde    5 年前

    我觉得“@symfony/webpack-encore”:“^0.23.0”会带来新的效果。但是,有一个问题 ajv 图书馆。

    脏修复:

    节点模块\ajv错误\index.js

    改变 errors: 第14行的参数来自 'full' true .

    清洁修复(临时):

    修改你的 包装袋 使用此:

    "resolutions": {
        "ajv": "6.8.1"
    }
    
        3
  •  9
  •   mobject    5 年前

    注解 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

        4
  •  3
  •   Peter Mortensen John Conde    5 年前

    当我尝试使用NPX创建新的Nuxt应用程序时,会收到此错误:

    npx create-nuxt-app <project-name>
    

    我做的

    npm uninstall ajv
    npm install ajv@6.8.1 
    

    就像@robert rodriguez一样,它工作正常,没有错误。