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

  1. Upgrade MagicMirror² core to at least the module's requiresVersion value.
  2. Alternatively, install an older release of the module compatible with your core version.
  3. 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

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.