2016-05-29 4 views
3

Nachdem ich NodeJS und NPM auf 6.2.0 und 3.9.3 aktualisiert, wenn ich hexo d -g Befehl ausführen meinen Blog zu aktualisieren, ich die folgende Fehlermeldung erhalten:NodeJS-Fehler: Die Modulversion stimmt nicht überein. Erwartete 48, bekam 46

Error: Module version mismatch. Expected 48, got 46. 
    at Error (native) 
    at Object.Module._extensions..node (module.js:568:18) 
    at Module.load (module.js:458:32) 
    at tryModuleLoad (module.js:417:12) 
    at Function.Module._load (module.js:409:3) 
    at Module.require (module.js:468:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/usr/local/lib/node_modules/hexo-cli/node_modules/dtrace-provider/dtrace-provider.js:17:23) 
    at Module._compile (module.js:541:32) 
    at Object.Module._extensions..js (module.js:550:10) 
    at Module.load (module.js:458:32) 
    at tryModuleLoad (module.js:417:12) 
    at Function.Module._load (module.js:409:3) 
    at Module.require (module.js:468:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/usr/local/lib/node_modules/hexo-cli/node_modules/bunyan/lib/bunyan.js:79:18) 
{ Error: Cannot find module './build/default/DTraceProviderBindings' 
    at Function.Module._resolveFilename (module.js:440:15) 
    at Function.Module._load (module.js:388:25) 
    at Module.require (module.js:468:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/usr/local/lib/node_modules/hexo-cli/node_modules/dtrace-provider/dtrace-provider.js:17:23) 
    at Module._compile (module.js:541:32) 
    at Object.Module._extensions..js (module.js:550:10) 
    at Module.load (module.js:458:32) 
    at tryModuleLoad (module.js:417:12) 
    at Function.Module._load (module.js:409:3) 
    at Module.require (module.js:468:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/usr/local/lib/node_modules/hexo-cli/node_modules/bunyan/lib/bunyan.js:79:18) 
    at Module._compile (module.js:541:32) 
    at Object.Module._extensions..js (module.js:550:10) 
    at Module.load (module.js:458:32) code: 'MODULE_NOT_FOUND' } 
{ Error: Cannot find module './build/Debug/DTraceProviderBindings' 
    at Function.Module._resolveFilename (module.js:440:15) 
    at Function.Module._load (module.js:388:25) 
    at Module.require (module.js:468:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/usr/local/lib/node_modules/hexo-cli/node_modules/dtrace-provider/dtrace-provider.js:17:23) 
    at Module._compile (module.js:541:32) 
    at Object.Module._extensions..js (module.js:550:10) 
    at Module.load (module.js:458:32) 
    at tryModuleLoad (module.js:417:12) 
    at Function.Module._load (module.js:409:3) 
    at Module.require (module.js:468:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/usr/local/lib/node_modules/hexo-cli/node_modules/bunyan/lib/bunyan.js:79:18) 
    at Module._compile (module.js:541:32) 
    at Object.Module._extensions..js (module.js:550:10) 
    at Module.load (module.js:458:32) code: 'MODULE_NOT_FOUND' } 
(node) v8::ObjectTemplate::Set() with non-primitive values is deprecated 
(node) and will stop working in the next major release. 

Ich dachte, vielleicht Knoten. js wird aktualisiert und node_modules sollte neu installiert werden.

Ich versuchte rm -rf node_modules && npm install, aber es funktioniert nicht. Ich habe auch versucht sudo npm i -g npm dann npm install hexo --no-optional --save, die nicht funktioniert auch nicht.

Jeder Rat würde am meisten geschätzt werden.

+0

Ich bevorzuge 'mv node_modules old_node_modules' zuerst, dann' npm install', dann 'rm -rf old_node_modules' – Todd

Antwort

2

Hexo scheint nicht mit der neuesten Version des Knotens zu funktionieren, der 6.2.0 ist. Sie sollten node-v4.4.5 (LTS) für eine Weile verwenden, was für die meisten Benutzer die empfohlene Version ist.

+0

Danke bro, das hilft wirklich! –

0

Es sieht aus wie hexo ist ein global installiertes Paket, aber Sie installierten es nur lokal neu. Versuchen Sie, es global neu zu installieren:

npm install hexo -g 
2

Eigentlich nach dem Upgrade Knoten, Ihre installierten Pakete kompiliert gegen die ältere Version, und sie müssen neu erstellt werden. Keine Notwendigkeit, node_modules zu löschen oder npm update auszuführen.

gerade laufen:

npm rebuild 
0

Vielleicht Ihre globalen Installationsdateien nicht gewesen Update werden, versuchen Sie, hexo-cli mit dem Befehl zu aktualisieren unten:

sudo npm install -g hexo-cli

, das mein Problem gelöst.

Verwandte Themen