我正在做一个项目,需要我使用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机器上重新安装。