MagicMirrorOrg/MagicMirror · error
Version is incorrect. Skip module: '${moduleName}'
Error message
Version is incorrect. Skip module: '${moduleName}' What it means
Each node_helper can declare `requiresVersion`; loadModule compares it against the running MagicMirror global.version using cmpVersions. If the current version is lower than required, it warns 'Version is incorrect. Skip module' and returns — the module's node_helper is not loaded at all, so the module will not function server-side.
Source
Thrown at js/app.js:128
}
// if the helper was found
if (loadHelper) {
let Module;
try {
Module = require(helperPath);
} catch (e) {
Log.error(`Error when loading ${moduleName}:`, e.message);
return;
}
let m = new Module();
if (m.requiresVersion) {
Log.log(`Check MagicMirror² version for node helper '${moduleName}' - Minimum version: ${m.requiresVersion} - Current version: ${global.version}`);
if (cmpVersions(global.version, m.requiresVersion) >= 0) {
Log.log("Version is ok!");
} else {
Log.warn(`Version is incorrect. Skip module: '${moduleName}'`);
return;
}
}
m.setName(moduleName);
m.setPath(path.resolve(moduleFolder));
nodeHelpers.push(m);
m.loaded();
}
}
/**
* Loads all modules.
* @param {Module[]} modules All modules to be loaded
* @returns {Promise} A promise that is resolved when all modules been loaded
*/
async function loadModules (modules) {View on GitHub (pinned to 4b4a59534f)
Solutions
- Upgrade MagicMirror² core to at least the module's requiresVersion value.
- Alternatively, install an older release of the module compatible with your core version.
- Check the version requirement in the module's node_helper.js and your `npm run start`/version output to confirm the gap.
Example fix
// before: MagicMirror v2.14.0 with module node_helper too old, module skipped // after git pull && npm install (upgrade MagicMirror to >= required version), restart
Defensive patterns
Strategy: validation
Validate before calling
// compare core version against module requirement before install
const cmpVersions = (a, b) => {
const pa = a.split(".").map(Number), pb = b.split(".").map(Number);
for (let i = 0; i < 3; i++) {
if ((pa[i] || 0) !== (pb[i] || 0)) return (pa[i] || 0) - (pb[i] || 0);
}
return 0;
};
if (cmpVersions(global.version, helper.requiresVersion) < 0) {
console.warn("Upgrade MagicMirror before installing this module");
} Type guard
function meetsVersion(core, required) {
return cmpVersions(core, required) >= 0;
} Prevention
- Check a module's requiresVersion (in node_helper.js) before installing.
- Keep MagicMirror² core updated (git pull && npm install) regularly.
- Pin module versions compatible with your core when running old installs.
When it happens
Trigger: Installing a module written for a newer MagicMirror² (requiresVersion set to e.g. '2.16.0') while running an older core (e.g. 2.14.0); cmpVersions returns negative and the module is skipped.
Common situations: Community modules from the wiki requiring newer core APIs than an outdated MagicMirror install; long-running installs not upgraded before adding new modules; Raspberry Pi images with pinned old versions.
Related errors
AI-assisted analysis of MagicMirrorOrg/MagicMirror@4b4a59534f (2026-08-31).
Data as JSON: /api/errors/1dbb4a3da3af389e.
Report an issue: GitHub.