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

时间:2014-07-07 13:09:02

标签: node.js

将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给出了同样的错误。

1 个答案:

答案 0 :(得分:0)

升级节点版本时通常会发生此问题。您处于这种情况:您正在使用Node作为示例版本5.您在项目中添加了一些库,构建并运行它。您的所有库都将在节点版本5下编译。

然后将节点升级到版本6.然后运行一些使用node的命令,例如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

希望这有帮助:)