gpt4 book ai didi

Node.js 应用程序不会在 AWS Elastic BeanStalk 上部署可能是由于缺少 PostgreSQL 安装

转载 作者:搜寻专家 更新时间:2023-10-31 23:54:08 34 4
gpt4 key购买 nike

我们有以下 package.json 文件:

{
"name" : "DecisionsConsole",
"version" : "0.0.0",
"private" : true,
"scripts" : {
"start" : "node app.js"
},
"dependencies" : {
"express" : "4.0.0",
"cookie-parser" : "1.1.0",
"serve-favicon" : "2.0.0",
"morgan" : "1.1.1",
"body-parser" : "1.3.0",
"express-session" : "1.2.1",
"errorhandler" : "1.0.1",
"ejs" : "1.0.0",
"request" : "2.34.0",
"async" : "0.4.0",
"lodash" : "2.4.1",
"socket.io" : "1.0.4",
"moment" : "~2.5.1",
"pg" : "2.11.1",
"connect" : "2.14.3",
"sql" : "0.37.0",
"request-json" : "0.4.10",
"simplesets" : "1.2.0",
"grunt" : "0.4.4",
"aws-sdk" : "2.0.0-rc.19",
"webworker-threads" : "0.4.13",
"indexof" : "*",
"serve-index" : "1.6.1",
"node-rest-client" : "0.8.0",
"querystring" : "0.2.0",
"xml2js" : "0.4.6",
"msexcel-builder" : "0.0.2",
"mime" : "1.3.4"
},
"devDependencies" : {
"grunt-contrib-compress" : "~0.7.0",
"grunt-contrib-compass" : "~0.7.2",
"grunt-contrib-uglify" : "*",
"nodeunit" : "*"
}
}

我们正在使用基于运行 Node.js 的 64 位 Amazon Linux 2014.02 v1.0.1 的 AWS Elastic BeanStalk 环境。它是较旧环境而不是最新版本之一的原因是因为我们的某些软件包与较新的 AWS 环境之间似乎存在冲突。

部署时出现错误 更新环境操作已完成,但有错误。有关详细信息,请参阅故障排除文档。

经过进一步调查,我们在 eb-tools.log 中发现了这样的错误:

 /bin/sh: pg_config: command not found gyp: Call to 'pg_config --libdir' returned 
exit status 127. gyp ERR! configure error gyp ERR! stack Error: `gyp` failed with
exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/opt/elasticbeanstalk/node-
install/node-v0.10.26-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/
configure.js:337:16) gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:
98:17) gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:
797:12) gyp ERR! System Linux 3.4.73-64.112.amzn1.x86_64 gyp ERR! command "node" "/
opt/elasticbeanstalk/node-install/node-v0.10.26-linux-x64/lib/node_modules/npm/
node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /tmp/deployment/
application/node_modules/pg gyp ERR! node -v v0.10.26 gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok > webworker-threads@0.4.13 install /tmp/deployment/application/
node_modules/webworker-threads > node-gyp rebuild make: Entering directory `/tmp/
deployment/application/node_modules/webworker-threads/build' CXX(target) Release/
obj.target/WebWorkerThreads/src/WebWorkerThreads.o

我意识到它有点难以阅读,但它都在 eb-tools.log 文件中的一行中。经过一些挖掘,我发现了这个: Error installing node-gyp on ubuntu .但是,我认为这不相关。

经过进一步研究,我发现了这个:https://github.com/brianc/node-postgres/issues/684

好像有道理。问题是——如何让 AWS Elastic BeanStalk 自动安装 PG?

最佳答案

显示你没有在elastic beanstalk实例上安装postgres

  1. 从项目的根目录创建一个 .ebextensions 文件夹。
  2. 使用 package.config 和以下内容创建一个文件

    包:
    百胜:
    postgresql93-devel: []

  3. 然后提交您的更改
  4. 最后使用 eb deploy 部署到 elastic beanstalk

那你应该是好的。

查看此链接了解更多 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html

关于Node.js 应用程序不会在 AWS Elastic BeanStalk 上部署可能是由于缺少 PostgreSQL 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29779083/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com