(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.
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
1I 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
0I 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
)
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