Quasar Error: Cannot find module 'ajv/dist/compile/codegen'

(node:21216) UnhandledPromiseRejectionWarning: Error: Cannot find module 'ajv/dist/compile/codegen' loader.js:815 Function.Module._resolveFilename internal/modules/cjs/loader.js:815:15 loader.js:667 Function.Module._load internal/modules/cjs/loader.js:667:27

(node:21216) UnhandledPromiseRejectionWarning: Error: Cannot find module 'ajv/dist/compile/codegen'

  • loader.js:815 Function.Module._resolveFilename internal/modules/cjs/loader.js:815:15

  • loader.js:667 Function.Module._load internal/modules/cjs/loader.js:667:27

  • loader.js:887 Module.require internal/modules/cjs/loader.js:887:19

  • helpers.js:74 require internal/modules/cjs/helpers.js:74:18

  • typeof.js:3 Object. [front]/[mini-css-extract-plugin]/[ajv-keywords]/dist/definitions/typeof.js:3:19

  • loader.js:999 Module._compile internal/modules/cjs/loader.js:999:30

  • loader.js:1027 Object.Module._extensions..js internal/modules/cjs/loader.js:1027:10

  • loader.js:863 Module.load internal/modules/cjs/loader.js:863:32

  • loader.js:708 Function.Module._load internal/modules/cjs/loader.js:708:14

  • loader.js:887 Module.require internal/modules/cjs/loader.js:887:19

(node:21216) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:21216) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

1

4 Answers

I had the same issue when I used JHipster, which I solved by running this command

npm install --save-dev ajv@^7 

Thanks to this answer

1

I found that my package-lock.json file was imposing constraints that meant npm couldn't sort things out.

Firstly, I used npm ls ajv very helpful in illustrating where the dependencies were coming from (thanks @Greg Trevellick).

The solution for me, possibly a little drastic, was to remove the package-lock.json file and the node_modules directory and reinstall.

rm -rf package-lock.json node_modules npm install 
0

I just hit the same error several times recently. In my case the error was based on ajv-keywords and ajv-formats plugin incompatibility with node js 8 and 12 (legacy project).

To analyse the problem, you can always use the npm ls ajv command, to see, which module try to use something incompatible.

Personally, I spent days to figure out the right combination for ajv schema, node and ajv plugins to make them work together properly. (In my case, I used ajv 6.4.x, what I had to downgrade to 6.12, then I used [email protected] and [email protected] which I had to dowgnrade to 3.0 and 1.4)

1

This recently occurred for me and I have legacy-peer-deps=true in my .npmrc file and I removed that and deleted my node_modules and package-lock.json and it all worked after that

ncG1vNJzZmirpJawrLvVnqmfpJ%2Bse6S7zGiorp2jqbawutJobmloYmV9dYKOqqyaq5Gneqa%2B0aipZpuRo7uwwIyfoKecXaK8pcHLnmSaoqZisaq%2F02aaqKWgnrmmecKom56flaM%3D

 Share!