我刚刚将(/ usr / local / bin /)节点升级到5.6.0,由nodejs.org的.pkg软件包安装,并尝试移植旧项目以使用当前节点。 / p>
我预计需要从我的代码中解决多个问题,但目前(可能是过时的)调用错误地出现在我自己的代码上。我最好的猜测是我得到了两个Node安装的不兼容混合物;如果是这样,完全卸载两个版本然后安装5.6.0的最佳方法是什么?
我看到的错误信息是:
Inner Sanctum ~/archive/pragmatometer $ /usr/local/bin/node bin/www module.js:440 return process.dlopen(module, path._makeLong(filename)); ^ Error: Module version mismatch. Expected 47, got 44. at Error (native) at Object.Module._extensions..node (module.js:440:18) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Module.require (module.js:367:17) at require (internal/module.js:16:19) at Object. (/Users/christos/archive/pragmatometer/node_modules/scrypt/index.js:3:20) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32)
我可以/应该做些什么来解决这个问题并继续下一步移植我的代码?
谢谢,
答案 0 :(得分:2)
编辑:根据我读过的其他问题,它似乎是node_modules文件夹中脚本内的VERSION_STRING常量的问题。尝试删除整个node_modules文件夹并使用当前安装的新节点版本运行fork
以获得新的模块安装。
另外我建议结帐n,这是一个非常小的节点版本管理器,可以帮助您在不同版本的节点之间切换。