Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS Elastic Beanstalk无效的二进制软件包_Amazon Web Services_Heroku_Amazon Elastic Beanstalk - Fatal编程技术网

Amazon web services AWS Elastic Beanstalk无效的二进制软件包

Amazon web services AWS Elastic Beanstalk无效的二进制软件包,amazon-web-services,heroku,amazon-elastic-beanstalk,Amazon Web Services,Heroku,Amazon Elastic Beanstalk,我正在将一个项目从Heroku迁移到AWS。在部署之后,我一直收到一个错误:“无效的ELF头”。我在使用AWS Lambda时发现了类似问题的帖子,但我不明白为什么我会对Elastic Beanstalk中的二进制软件包产生问题 Elastic Beanstalk是否提供了一个类似Docker的配置环境来运行我的代码?我觉得这个问题一定更复杂,因为我在Elastic Beanstalk中找不到其他有这个问题的人 下面是我得到的确切错误: Error: /var/app/current/node_

我正在将一个项目从Heroku迁移到AWS。在部署之后,我一直收到一个错误:“无效的ELF头”。我在使用AWS Lambda时发现了类似问题的帖子,但我不明白为什么我会对Elastic Beanstalk中的二进制软件包产生问题

Elastic Beanstalk是否提供了一个类似Docker的配置环境来运行我的代码?我觉得这个问题一定更复杂,因为我在Elastic Beanstalk中找不到其他有这个问题的人

下面是我得到的确切错误:

Error: /var/app/current/node_modules/bcrypt/lib/binding/bcrypt_lib.node: invalid ELF header
at Object.Module._extensions..node (internal/modules/cjs/loader.js:730:18)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object.<anonymous> (/var/app/current/node_modules/bcrypt/bcrypt.js:6:16)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! beer@0.1.0 start: `node server/server.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the beer@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /tmp/.npm/_logs/2019-04-15T00_54_06_983Z-debug.log
错误:/var/app/current/node_modules/bcrypt/lib/binding/bcrypt_lib.node:ELF头无效
在Object.Module.\u extensions..节点(internal/modules/cjs/loader.js:730:18)
at Module.load(内部/modules/cjs/loader.js:600:32)
在tryModuleLoad(内部/modules/cjs/loader.js:539:12)
at Function.Module._load(内部/modules/cjs/loader.js:531:3)
at Module.require(内部/modules/cjs/loader.js:637:17)
根据需要(内部/modules/cjs/helpers.js:22:18)
反对。(/var/app/current/node_modules/bcrypt/bcrypt.js:6:16)
at模块编译(内部/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js(internal/modules/cjs/loader.js:712:10)
at Module.load(内部/modules/cjs/loader.js:600:32)
npm错误!代码失效循环
npm错误!错误1
npm错误!beer@0.1.0start:`node server/server.js`
npm错误!退出状态1
npm错误!
npm错误!失败beer@0.1.0开始脚本。
npm错误!这可能不是npm的问题。上面可能还有其他日志输出。
npm错误!此运行的完整日志可在以下位置找到:
npm错误/tmp/.npm/_日志/2019-04-15T00_54_06_983Z-debug.log

我在Mac上工作,我的代码包含用React、node.js和SQL编写的客户端和服务器代码。我通过包含多个文件夹的ZIP文件上传代码,包括
节点\u模块/

一些库对构建它们的操作系统和/或CPU体系结构很敏感。对于用低级语言实现的模块,或者链接到系统库的模块,尤其如此。在本例中,您似乎正在使用which is

这就是你上传到Elastic Beanstalk的zip文件不应该包含你的
node\u modules/
文件夹(或者Git忽略的任何东西)的原因之一。创建用于上传到Elastic Beanstalk的zip的最简单方法是:

这将尊重您的忽略,而将包括它们


您的存档应该在其根目录中包含
package.json
package lock.json
。有弹性的豆茎,如果有的话。这应该确保所有库都与其操作系统兼容。

您是否有多个
节点模块/
文件夹,例如一个用于前端,另一个用于后端?@Chris我只有一个节点模块文件夹,但其中有许多子文件夹。谢谢Chris,这看起来可以解决我的问题。你知道为什么Heroku在我上传代码时会忽略节点模块吗?并不是因为它忽略了那个目录。这是因为一些模块对构建它们的操作系统和/或CPU体系结构很敏感。对于用低级语言(如C)编写的模块或链接到系统库的模块,尤其如此。我怀疑你用的是哪个。我会澄清我的答案。
 git archive -v -o myapp.zip --format=zip HEAD