【问题标题】:nodejs daemon wrong architecturenodejs守护进程错误的架构
【发布时间】:2012-09-03 23:23:06
【问题描述】:

我正在尝试在 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 版本。

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

【问题讨论】:

  • 您可能必须从源代码构建它。我会提供更多建议,但目前我似乎无法获得项目页面。当 NPM 备份时,请检查其页面以获取到 Github 或类似内容的链接。然后在那里查看源代码和构建说明。
  • @Brad 我查找了 npm 数据库并找到了 git url,然后这样做: npm install git://github.com/indexzero/daemon.node.git 安装正常,但我仍然得到运行我的应用程序时出现同样的错误。这是我应该从源代码安装的方式吗?

标签: macos node.js daemon


【解决方案1】:

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

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

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

我通过 NodeJS node-waf 程序使用 wscript 构建文件构建了我的文件。目前,我的问题还没有解决。我对 NodeJS 和使用 WAF wscript 文件进行构建都是新手。

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 2014-11-01
    • 2012-01-08
    • 1970-01-01
    相关资源
    最近更新 更多