본문 바로가기
Back-End (web)

[Webpack][Error] custom keyword definition is invalid

by 햄과함께 2019. 2. 16.
320x100
C:\...\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 (C:\...\node_modules\ajv\lib\keyword.js:65:13)
    at module.exports (C:\...\node_modules\ajv-errors\index.js:10:7)
    at Object.<anonymous> (C:\...\node_modules\schema-utils\src\validateOptions.js:22:1)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
    at Module.require (internal/modules/cjs/loader.js:636:17)
    at require (internal/modules/cjs/helpers.js:20:18)npm ERR! code ELIFECYCLEnpm ERR! errno 1
npm ERR! ts-vue@1.0.0 dev: `webpack-dev-server --open`npm ERR! Exit status 1
npm ERR!npm ERR! Failed at the ts-vue@1.0.0 dev 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!
cs


데스크탑에서는 잘 돌아가던 프로젝트를 놋북에서 실행 시키니 위와 같은 에러가 발생했다.

찾아보니 ajv 최신 커밋 이력에 문제가 있었던 것 같다.


해결방법


npm uninstall ajv
npm install ajv@6.8.1
cs


6.8.1 버전을 사용한다.


// package.json
{
  // ...
  "resolutions": {
    "ajv""6.8.1"
  }
}
cs

yarn을 사용하는 경우 package.json에 위와 같은 설정을 넣어줘야 한다. (npm으로 하면 자동 추가됨)


참고 

[stackoverflow] https://github.com/webpack/webpack/issues/8768

[webpack issue] https://stackoverflow.com/questions/54614719/webpack-error-custom-keyword-definition-is-invalid-data-errors-should-be-boole

[ajv issue] https://github.com/epoberezkin/ajv/issues/941

 


320x100

댓글