node.js - Cloudfoundry 上的 Restify 'invalid ELF header'

标签 node.js cloud-foundry restify

我正在将一个node.js应用程序部署到Cloudfoundry,唯一的模块依赖项是restify。我尝试使用本地 node_modules 目录推送它,并在 cloudfoundry.json 中使用 npm Shrinkwrap 和“ignoreModules”,但最终总是在 stdout.log 中出现此内容:

{ stack: [Getter/Setter],
  arguments: undefined,
  type: undefined,
  message: '/var/vcap/data/dea/apps/myapp-0-6f9cf62f9bbe58f5d2eb13a94acb5d3a/app/node_modules/restify/node_modules/dtrace-provider/build/Release/DTraceProviderBindings.node: invalid ELF header' }

有什么想法吗?预先感谢:)

编辑:抱歉,我的意思是“忽略* Node *模块”

最佳答案

我的猜测是该模块是针对您的本地架构(例如 x86)编译的,并且尝试运行它的服务器是不同的架构(例如 64 位)。 Node 模块中可以有 C++ 扩展,npm 将处理构建,您不一定只是将 node_modules 文件夹中的二进制文件从一个平台移动到另一个平台,您需要重新编译它们。

我对 Cloudfoundry 的了解还不够,无法告诉您如何做到这一点,希望其他人有更好的答案。

关于node.js - Cloudfoundry 上的 Restify 'invalid ELF header',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12592147/

相关文章:

javascript - 如何在 .js 文件中加载本地 .JSON 文件

javascript - 有条件地从数据库中按多列获取行的函数

node.js - 如何调试 yeoman 应用程序?

javascript - Supertest + Restify gzip响应文件上传

node.js - 如何将 Restify 调用路由到另一个文件中编写的函数

exception-handling - 如何在 node.js 中捕获 http 客户端请求异常

java - spring boot 应用程序使用的端口号

heroku - 尊重部署在 Cloudfoundry 或 Heroku 上的 Gradle/Spring 应用程序的代码库因素(来自 12 因素应用程序声明)

java - 将后台运行的 clojure/java no-web 应用程序部署到 Cloudfoundry

Restify:设置默认格式化程序