Node.js 模块版本不匹配,随 MacPorts 安装

标签 node.js macports

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

我全新安装了 nodejs 和 npm

sudo port install nodejs npm

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

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

尝试让 Node 包正常工作,使用 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)

最佳答案

我正在使用 10.8.4 Mountain Lion。我尝试使用最新版本的 Node (5.1)和旧版本(4.2)并得到相反的结果..

在 5.1 上,消息内容如下:

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

在 4.2.2 上我得到了

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

这让我相信有一些挥之不去的 Node.js 版本。因此(通过主网站上的 Node osx 打包程序安装安装 Node 之后,不确定这是否重要)我运行了这个卸载脚本并修复了它,感谢 @nicerobot via 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

关于Node.js 模块版本不匹配,随 MacPorts 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33817613/

相关文章:

c - 缺少 locale_t

node.js - 我如何将 pouchdb 与 typescript 一起使用?

javascript - Node Sass 找不到 W64 位和 Node.js 6.x 的绑定(bind)

Tomcat5 启动 - 拒绝对 catalina.out 的许可

python - 无法让 OpenCV 在 Mac 上使用 Python

Python 无法识别 MacPorts 安装包

javascript - 在 node.js 中使用 mssql 关闭 MSSQL 连接

node.js - Nodejs用户登录系统

javascript - 如何使用路线操纵导航栏?

macos - 使用 macports 重新阅读安装结束时的注释