将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
给出了同样的错误。
答案 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
希望这有帮助:)