【问题标题】:Invalid ELF header Node js with couchbase db带有couchbase db的无效ELF标头节点js
【发布时间】:2016-01-17 17:59:55
【问题描述】:

我看过一些关于这个问题的帖子,但结果似乎都是特定于用户配置的。我正在使用带有 express js 服务器的 couchbase db。当我在本地(Windows)运行代码时,它工作正常。它自己的数据库托管在 linux 服务器上。当我将代码部署到我们的测试环境(linux)时,当我尝试运行“node server.js”时出现此错误:

/var/www/html/BTRnode/node_modules/couchbase/node_modules/bindings/bindings.js:83
        throw 8
Error: /var/www/html/BTRnode/node_modules/couchbase/build/Release/couchbase_impl.node: invalid ELF header
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:364:17)
    at ....

我完全不知道在这种情况下该怎么做。如前所述,在我看来,其他人情况下的所有修复都是一些系统配置。我不确定在此处发布什么来帮助您查看任何可能有帮助的配置,但如果需要,我可以肯定会添加它。此外,如果我正在提交更通用的解决方案或错误,这将有助于了解。

问题:我需要做什么才能让它运行?

【问题讨论】:

    标签: javascript node.js express couchbase


    【解决方案1】:

    当您在一个架构上编译模块然后尝试在另一个架构上运行它们时,会发生“无效的 ELF 标头”错误。我猜您正在复制整个项目文件夹,而不是在测试环境中安装特定于体系结构的节点模块。确保您的 package.json 文件配置正确,删除(或者最好不要复制)您的 node_modules 文件夹,然后在目标环境上运行 npm install。这将为特定环境提取和编译该模块。

    这里是关于配置和使用 package.json 的文档页面:https://docs.npmjs.com/getting-started/using-a-package.json

    【讨论】:

    • 我能够从其他帖子中得出这个答案,但是有一个可靠的“是的,你的假设是正确的”肯定是很好的。谢谢。
    • 后续问题:我最初复制了所有提到的文件,但唯一有问题的是节点沙发基础模块。这有什么原因吗? IE 其他模块是怎么做到的,所以他们不在乎被复制和粘贴,或者沙发底座是什么使得它不喜欢被复制和粘贴?
    • 许多节点模块是纯 JavaScript 并且没有编译原生组件。 Couchbase 模块依赖于 libcouchbase 并有一个本地包装器,它作为安装的一部分被编译。
    猜你喜欢
    • 2017-08-06
    • 2013-07-28
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    • 2013-03-26
    • 2021-11-18
    • 2016-11-29
    • 2015-06-14
    相关资源
    最近更新 更多