2016-05-29 2 views
3

После того как я модернизировал NodeJS и НПМ 6.2.0 и 3.9.3, когда я бегу hexo d -g команду, чтобы обновить мой блог, я получаю следующее сообщение об ошибке:Ошибка NodeJS: несоответствие версии модуля. Ожидаемый 48, получил 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. 

Я подумал, может быть узел. js обновляется, и node_modules следует переустановить.

Я пробовал rm -rf node_modules && npm install, но он не работает. Я также пробовал sudo npm i -g npm, затем npm install hexo --no-optional --save, который не работает ни.

Любые советы были бы наиболее ценными.

+0

Я предпочитаю сначала 'mv node_modules old_node_modules', затем' npm install', затем 'rm -rf old_node_modules' – Todd

ответ

2

Hexo, похоже, не работает с последней версией узла, которая равна 6.2.0. Вы должны использовать node-v4.4.5 (LTS) некоторое время, что рекомендуется для большинства пользователей.

+0

Спасибо, что это действительно помогает! –

0

Похоже, что hexo - это глобально установленный пакет, но вы его только переустановили его локально. Попробуйте переустановить его по всему миру:

npm install hexo -g 
2

На самом деле, после обновления узла, ваши установленные пакеты были скомпилированы против старой версии, и их необходимо перестроить. Не нужно удалять node_modules или запускать обновление npm.

Просто запустите:

npm rebuild 
0

Может быть, ваши глобальные файлы установки не был обновления, пожалуйста, попробуйте обновить ваш hexo-CLI с помощью команды ниже:

sudo npm install -g hexo-cli

который решить мою проблему.