Quasar Error: Cannot Find Module 'Ajv/Dist/Compile/Codegen'

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

  • 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 ). (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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Chloe Bennett
Author

Chloe Bennett

Chloe Bennett explores the intersection of pop culture, streaming entertainment, digital trends, and contemporary lifestyle. Her weekly commentary reaches thousands of culture enthusiasts.