vue.js
webpack
nuxt.js

ERROR custom keyword definition is invalid: data/errors should be boolean


1. 概要

Nuxt.js で新規のプロジェクト作成して実行しようとしたら下記のエラーが出ました.

 ERROR  custom keyword definition is invalid: data/errors should be boolean


2. 解決策

下記を実行すれば fix できました.

$ npm uninstall ajv

$ npm install ajv@6.8.1


3. 詳細

プロジェクトを新規作成

$ npx create-nuxt-app sample-003

? Project name sample-003
? Project description My stylish Nuxt.js project
? Use a custom server framework none
? Choose features to install
? Use a custom UI framework none
? Use a custom test framework none
? Choose rendering mode Universal
? Author name Hayato Akatsuka
? Choose a package manager npm

プロジェクト実行すると「 ERROR custom keyword definition is invalid: data/errors should be boolean」と怒られました.

$ cd sample-003

$ npm run dev

WARN Address `localhost:3000` is already in use.

ℹ Trying a random port...
ERROR custom keyword definition is invalid: data/errors should be boolean

at Ajv.addKeyword (node_modules/ajv/lib/keyword.js:65:13)
at module.exports (node_modules/ajv-errors/index.js:10:7)
at Object.<anonymous> (node_modules/schema-utils/src/validateOptions.js:22:1)
at Module._compile (internal/modules/cjs/loader.js:678:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
at Module.load (internal/modules/cjs/loader.js:589:32)
at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
at Function.Module._load (internal/modules/cjs/loader.js:520:3)
at Module.require (internal/modules/cjs/loader.js:626:17)
at require (internal/modules/cjs/helpers.js:20:18)

本件については,webpack で issue が作成されていました.

解決方法は ajv を下記の通りアンインストール後にインストールします.

$ npm uninstall ajv

$ npm install ajv@6.8.1

ちゃんと動きました.

$ npm run dev


WARN Address `localhost:3000` is already in use.
ℹ Trying a random port...
ℹ Preparing project for development ℹ Initial build may take a while ✔ Builder initialized ✔ Nuxt files generated
✔ Client
Compiled successfully in 8.39s
✔ Server
Compiled successfully in 7.72s
ℹ Waiting for file changes

╭─────────────────────────────────────────────╮
│ │
│ Nuxt.js v2.4.3 │
│ Running in development mode (universal) │
│ Memory usage: 182 MB (RSS: 261 MB) │
│ │
│ Listening on: http://localhost:50482 │
│ │
╰─────────────────────────────────────────────╯