'Accessing non-existent property 'padLevels' of module exports inside circular dependency
I just > npm i -g [email protected] and > phonegap --version.
It says not only 9.0.0 but also:
(node:18392) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
when I > node --trace-warnings ..., I got this:
internal/modules/cjs/loader.js:883
throw err;
^
Error: Cannot find module 'C:\Users\twori\...'
[90m at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)[39m
[90m at Function.Module._load (internal/modules/cjs/loader.js:725:27)[39m
[90m at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)[39m
[90m at internal/main/run_main_module.js:17:47[39m {
code: [32m'MODULE_NOT_FOUND'[39m,
requireStack: []
}
I did only install and check version. Why does the phonegap module throw this error?
My teacher and other students go well with this, but only I can't do nothing.
Solution 1:[1]
Solved Root Cause
exports inside circular dependency
? This phrase gave hint to solve the same issue for me, it seems that newer NodeJS versions no longer allows circular dependencies.
Eg - There are two files - FileA.js, FileB.js
Where FileA.js has
const FileB = require("FileB");
and FileB.js has
const FileA = require("FileA");
After removing one of these circular dependencies by modifying either FileA.js or FileB.js, it was solved!
Solution 2:[2]
That the node version was too high. Previously, the 14+ version used by the latest was used. After switching back to the 12 version, there would be no such problem.
Mac command
sudo n 12.0.0
Solution 3:[3]
After I updated my node from version 12 to version 14, I also faced the same warning. In my case, this warning was coming due to an older version of surge. after updating surge, the warning was gone. If you have surge installed in your system then update it to the latest version. You can run this command to update surge to the latest version:
sudo npm i -g surge
Solution 4:[4]
This issue would generally be caused due to incompatible packages or SDKs that you are using. Best is to do npm update and update any older version SDKs you might be using. Sometime a force update using --force option may be helpful with npm install on already existing libraries.
Solution 5:[5]
I discovered that the arrangement had no effect in the error, I tweaked the Javascript destructuring when I was calling the function in another file and it magically solved the problem.
I simply changed the way I exported the function from the Main.js
from:
module.exports = { Scan };
to:
exports.Scan = Scan
And in Event.js, I was able to access the file like this
const main = require("./Main.js");
let result = main.Scan();
This solved my problem, I hope it helps another developer ?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Randy L |
| Solution 2 | anson |
| Solution 3 | |
| Solution 4 | |
| Solution 5 | Joel |
