NodeJs Google Compute Engine 使用 'gcloud' 模块时 ELF 标头无效



我正在做一个项目,需要我使用gcloud nodejs模块。我使用node app在本地测试这个项目,使用gcloud preview app run app.yaml在gcloud本地测试这个项目。当我在文件中有以下代码时,项目使用 node app 运行,但不使用gcloud preview app run app.yaml与gcloud运行-我得到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

我能够通过删除node_modules目录然后部署项目来解决这个问题。这个问题与OS X编译库不能在Linux机器上工作有关。因此,它需要在Linux机器上重新安装—直接删除node_modules强制它在Linux机器上重新安装。

相关内容

  • 没有找到相关文章

最新更新