1

我正在做一个需要我使用 gcloud nodejs 模块的项目。我正在本地使用node app和在 gcloud 上使用gcloud preview app run app.yaml. 当我的文件中有以下代码时,项目运行 node app 但不使用 gcloud 运行gcloud preview app run app.yaml - 我收到invalid ELF Header错误。

var gcloud = require('gcloud');

我相信该项目不能使用 gcloud 命令运行,因为它与我在项目中使用 gcloud 模块有关。如果我从我的文件中删除该代码,则该项目使用 gcloud 命令运行得很好。我应该怎么做才能解决这个问题?

我能够通过使用 try-catch 得到错误

try {
   var gcloud = require('gcloud');

}  catch (e) {
   e = 'Error loading required classes for gcloud: '+gcloud+ ':  '+e
   console.log(e)
   res.status(200).send(e);
}

错误:

Error loading required classes for gcloud: undefined: Error:
/app/node_modules/gcloud/node_modules/hash-stream-
validation/node_modules/sse4_crc32/build/Release/sse4_crc32.node: invalid ELF header
4

1 回答 1

2

我能够通过删除node_modules目录然后部署项目来解决这个问题。该问题与无法在 Linux 机器上运行的 OS X 编译库有关。因此它需要在 Linux 机器上全新安装 - 删除 node_modules 直接强制它在 linux 机器上全新安装。

于 2015-09-25T11:04:40.823 回答