nodejs守护进程错误的架构

时间:2012-09-11 04:28:58

标签: macos node.js daemon

我正试图在OSX Mountain Lion下运行我的Mac上的nodejs的'dali'一个highcharts导出器

我收到以下错误:

module.js:485
    process.dlopen(filename, module.exports);
      ^
Error: dlopen(/Users/greg/node_modules/daemon/lib/daemon.v0.8.8.node, 1): no suitable image found.  Did find:
/Users/greg/node_modules/daemon/lib/daemon.v0.8.8.node: mach-o, but wrong architecture
at Object.Module._extensions..node (module.js:485:11)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/Users/greg/node_modules/daemon/lib/daemon.js:12:11)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)

关键部分是:“错误的架构”

如果我跑:

lipo -info /Users/greg/node_modules/daemon/lib/daemon.v0.8.8.node

它返回:

Non-fat file: /Users/greg/node_modules/daemon/lib/daemon.v0.8.8.node is architecture: i386

我猜测需要x64版本。

如何获取并安装此lib的64位版本?

1 个答案:

答案 0 :(得分:0)

我猜这个对话发生在大约一个月前左右。我在运行用C ++编写的nodejs附加组件时遇到了与原始海报相同的问题。

但是,lipo用于通用文件格式以创建单个体系结构文件。我很确定消息“非胖文件......”是说文件不是通用(胖)文件格式。由于lipo只接受脂肪文件,所以lipo在文件上没有任何工作要做。

我已经深入研究了mach-o二进制文件并查看了标题。该文件被标记为一个马赫包,这不是我所期望的。

我通过NodeJS node-waf程序使用wscript构建文件构建了我的文件。目前,我的问题尚未解决。我不熟悉NodeJS并使用WAF wscript文件进行构建。