Nodejs模块版本不匹配。 预计11,得到1

更新NodeJS到v0.10.29后,我得到了以下错误:

Error: Module version mismatch. Expected 11, got 1. at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at bindings (/home/masiar/usi_liquid_streams/node_modules/jsdom/node_modules/contextify/node_modules/bindings/bindings.js:76:44) at Object.<anonymous> (/home/masiar/usi_liquid_streams/node_modules/jsdom/node_modules/contextify/lib/contextify.js:1:96) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) 

执行sudo npm update不起作用。 我安装了后退版本v0.10.15(之前使用的那个),跑sudo npm update和卸载并安装回jsdom给出了同样的错误。

升级节点版本时通常会发生此问题。 在这种情况下,您正在使用Node来获得示例版本5.在项目中添加一些库,然后构build并运行它。 您的所有库都将在节点版本5下进行编译。

然后,将节点升级到版本6.然后运行一些使用节点的命令,例如npm run test。 问题在于:您使用较新的节点版本来运行由旧节点编译的库。

通过以下命令解决这个问题很简单:

 rm -rf node_modules // force remove node_modules directory npm install // install again all libraries. Libraries will be compiled again with new node version 

希望这个帮助:)