模块版本不匹配。 预计11,得到1
Platform: Linux
运行我的node.js程序时,出现以下错误
Error: Module version mismatch. Expected 11, got 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 Object.<anonymous> (/home/user/node_modules/xml2json/node_modules/node-expat/lib/node-expat.js:4:13) 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) at Module.require (module.js:364:17)
然后,你可以注意到在模块或某处的错误。
这是因为你已经更新了你的节点,你可能会重build上面find的模块。
我revole我的问题通过重新安装 (删除,然后安装)xml2json。
祝你好运!
npm重build也将做的伎俩
Platform: Linux
为了将来在node.js v0.10.x
(至lessv0.10.0)中的参考,我得到这个错误:
Error: Module version mismatch. Expected 11, got 1.
为了解决这个问题,我find了这个有趣的链接 ,也得到了Ben Noordhuis的帮助。 下面的命令帮助我摆脱了这个错误:
npm update
当您使用一个版本的节点安装软件包,然后更改为不同的版本时,通常会发生这种情况。 当您更新Node时,可能会发生这种情况,或者使用nvm切换到其他版本。
如果您试图以全局安装的Node身份运行一个进程,但是您正在自己的用户帐户中运行一个由nvmpipe理的节点,也会发生这种情况。
要解决这个问题,你可以简单地使用正确版本的Node来重新安装软件包。 还要确保您在不同用户之间使用相同版本的节点。
发生此问题是因为以下情形:您正在使用节点的示例版本5.您在项目中添加一些库,生成并运行它。 您的所有库都将在节点版本5下进行编译。
然后,将节点升级到版本6.然后运行一些使用节点的命令,例如npm run test
。 问题在于:您使用较新的节点版本来运行旧节点编译的库。
通过以下命令解决这个问题很简单:
rm -rf node_modules // force remove node_modules directory npm install // install again all libraries.
您可以在此页面上find节点模块版本的列表以及相应的节点版本https://nodejs.org/en/download/releases/
NODE_MODULE_VERSION是指Node.js的ABI(应用程序二进制接口)版本号,用于确定哪些版本的Node.js编译的C ++附加二进制文件可以加载到而不需要重新编译。 它曾经在早期版本中被存储为hex值,但是现在被表示为一个整数。
有时由于nodejs版本而出现问题。
尝试更新npm和nodejs版本。 点击这个链接来更新你的nodejs。
并更新您的npm使用:
sudo npm install npm -g
希望这可以帮助!
如果您使用nvm,还有一件事要做,那就是确保您在全局以及应用程序中运行相同版本的节点。
:/$ node -v v6.0.0 :/var/www/app$ node -v v6.2.0
如果他们不同意,
:/$ nvm use 6.2.0 Now using node v6.2.0 (npm v3.8.9)
(这是对我有用的。)
在我的情况下,错误的原因是一个C ++ – 的AddOn编译针对不同的node.js版本。
所以你可能需要重新编译你的C ++ – AddOn,所以你运行的插件和node.js的主要版本匹配。
我遇到了systemd的这个问题,但我可以使用node myapp.js
运行应用程序。
事实certificateExecStart
中的path与我从which node
获得的path不同。 改变在服务文件中修复了我。
资源
没有答案为我工作,所以这里是我的解决scheme。 Error: Module version mismatch. Expected 48, got 51. at Error (native) at Object.Module._extensions..node (module.js:597:18)
Error: Module version mismatch. Expected 48, got 51. at Error (native) at Object.Module._extensions..node (module.js:597:18)
的Error: Module version mismatch. Expected 48, got 51. at Error (native) at Object.Module._extensions..node (module.js:597:18)
,48和51对应于在nodejs发布页面上find的节点版本: https:// nodejs。组织/ EN /下载/释放/
所以我安装了节点版本pipe理器nvm,并将节点版本切换到48(6.11.x),然后运行rm -rf node_modules/
和npm install
我的特定模块mcrypt依赖于c ++二进制文件,并且节点模块版本具有直接影响:
NODE_MODULE_VERSION是指Node.js的ABI(应用程序二进制接口)版本号,用于确定哪些版本的Node.js编译的C ++附加二进制文件可以加载到而不需要重新编译。 它曾经在早期版本中被存储为hex值,但是现在被表示为一个整数。