【问题标题】:Node.js module version mismatch, installed with MacPortsNode.js 模块版本不匹配,随 MacPorts 安装
【发布时间】:2015-11-20 01:44:14
【问题描述】:

在 OSX 上,我需要使用 macports,因为我遇到了 Brew 的问题。我卸载了自制包管理器并试图让节点工作:

我对 nodejs 和 npm 进行了全新安装

sudo port install nodejs npm

我们只显示只安装了 npm,没有其他模块。

$ ls /opt/local/lib/node_modules/ 
npm 

试图让一个节点包工作,用appdmg测试

sudo npm install -g appdmg

现在这里是神秘的错误。 (注意:它适用于brew 的 NPM 版本,今天早上早些时候)

$ appdmg
module.js:460
  return process.dlopen(module, path._makeLong(filename));
                 ^

Error: Module version mismatch. Expected 46, got 47.
    at Error (native)
    at Object.Module._extensions..node (module.js:460:18)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/appdmg/node_modules/macos-alias/lib/create.js:7:13)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)

【问题讨论】:

    标签: node.js macports


    【解决方案1】:

    我使用的是 10.8.4 Mountain Lion。我尝试使用最新版本的节点(5.1)和旧版本(4.2)并得到了 INVERSE 结果..

    在 5.1 上,消息如下:

    Error: Module version mismatch. Expected 47, got 46.
    

    在 4.2.2 我得到了

    Error: Module version mismatch. Expected 46, got 47.
    

    这让我相信有一些挥之不去的 brew 版本的节点。所以(在通过主网站上的节点 osx 打包程序安装安装节点后,不确定这是否重要)我运行了这个卸载脚本并修复了它,感谢@nicerobot 通过https://gist.github.com/nicerobot/2697848

    curl -ksO https://gist.githubusercontent.com/nicerobot/2697848/raw/uninstall-node.sh
    chmod +x ./uninstall-node.sh
    ./uninstall-node.sh
    rm uninstall-node.sh
    

    【讨论】:

      【解决方案2】:
      npm uninstall lodash
      npm install
      

      我尝试了很多方法,但在我的情况下,它没有正确安装节点模块,所以我卸载然后重新安装它并且它可以工作!希望对您有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-11
        • 2018-05-26
        • 2016-10-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多