2014-07-07 37 views
2

更新到的NodeJS我v0.10.29得到了下面的错误后:Nodejs模块版本不匹配。预计11,拿到了1

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

你确定你是完全卸载和删除整个模块? – loganfsmyth

+0

'sudo npm卸载jsdom'应该可以,对不对?卸载它后,我试图运行我的程序来仔细检查,确实发生错误提示说模块丢失。通过安装它,我得到了上述相同的错误。 – Masiar

回答

0

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

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

解决,这是由2个以下命令很简单:

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

希望这有助于:)

+1

好了,一段时间过去了,但我更熟悉NodeJS,是的,我认为这个问题可能是由此引起的。 – Masiar