web-dev-qa-db-fra.com

Erreur "la définition de mot clé personnalisé n'est pas valide: les erreurs data.errors doivent être booléennes"

Je viens de créer une nouvelle application React en utilisant cette commande:

create-react-app mysite.com

Après l'installation, lorsque j'ai essayé de l'ouvrir à l'aide de npm start et yarn start, J'ai eu l'erreur suivante.

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)

Comment puis-je résoudre ce problème?

18
Ishan Patel

Le retour à une version stable de la bibliothèque ajv fonctionne également:

npm uninstall ajv
npm install [email protected]
25
Roberto Rodriguez

Je pensais que c'était quelque chose de nouveau à venir avec "@ symfony/webpack-encore": "^ 0.23.0". Cependant, il y a un problème avec la bibliothèque ajv.

Correction sale:

Dans

node_modules\ajv-errors\index.js

changer la errors: paramètre à la ligne 14 de 'full' à true.

Correctif correct (temporaire):

Modifiez votre package.json en utilisant ceci:

"resolutions": {
    "ajv": "6.8.1"
}
10
rnenciu

Commenter node_modules/ajv/lib/keyword.js à la ligne 64-65 pour une solution de contournement:

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

Réf: https://github.com/webpack/webpack/issues/8768

9
mobject

J'obtiens cette erreur lorsque j'essaie de créer une nouvelle application nuxt avec npx:

npx create-nuxt-app <project-name>

J'ai fait

npm uninstall ajv
npm install [email protected] 

Comme @robert Rodriguez, cela fonctionne, pas d'erreurs.

3
Justin