【问题标题】:Failed at the app@0.0.1 start script. start: `nest start`app@0.0.1 启动脚本失败。开始:`巢开始`
【发布时间】:2021-03-19 03:57:12
【问题描述】:

我正在弹性 beanstalk 上部署 NestJs 应用程序,成功部署后,应用程序未启动并且在启动脚本时显示错误但是当我登录到 Amazon Linux 2 ec2 实例并运行节点 dist/main 时,它开始运行而不是其他情况npm 开始。

日志:

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/opt/elasticbeanstalk/node-install/node-v12.19.0-linux-x64/bin/node',
1 verbose cli   '/bin/npm',
1 verbose cli   'start'
1 verbose cli ]
2 info using npm@6.14.8
3 info using node@v12.19.0
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle unmudl-backend-app@0.0.1~prestart: unmudl-backend-app@0.0.1
6 info lifecycle unmudl-backend-app@0.0.1~start: unmudl-backend-app@0.0.1
7 verbose lifecycle unmudl-backend-app@0.0.1~start: unsafe-perm in lifecycle true
8 verbose lifecycle unmudl-backend-app@0.0.1~start: PATH: /opt/elasticbeanstalk/node-install/node-v12.19.0-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/var/app/current/node_modules/.bin:/sbin:/bin:/usr/sbin:/usr/bin
9 verbose lifecycle unmudl-backend-app@0.0.1~start: CWD: /var/app/current
10 silly lifecycle unmudl-backend-app@0.0.1~start: Args: [ '-c', 'nest start' ]
11 silly lifecycle unmudl-backend-app@0.0.1~start: Returned: code: 1  signal: null
12 info lifecycle unmudl-backend-app@0.0.1~start: Failed to exec start script
13 verbose stack Error: unmudl-backend-app@0.0.1 start: `nest start`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/opt/elasticbeanstalk/node-install/node-v12.19.0-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:314:20)
13 verbose stack     at ChildProcess.<anonymous> (/opt/elasticbeanstalk/node-install/node-v12.19.0-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:314:20)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid unmudl-backend-app@0.0.1
15 verbose cwd /var/app/current
16 verbose Linux 4.14.200-155.322.amzn2.x86_64
17 verbose argv "/opt/elasticbeanstalk/node-install/node-v12.19.0-linux-x64/bin/node" "/bin/npm" "start"
18 verbose node v12.19.0
19 verbose npm  v6.14.8
20 error code ELIFECYCLE
21 error errno 1
22 error unmudl-backend-app@0.0.1 start: `nest start`
22 error Exit status 1
23 error Failed at the unmudl-backend-app@0.0.1 start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

【问题讨论】:

  • 这里没有太多关于可能发生的事情的信息。您是要使用 Nest CLI 启动服务器吗?如果有,是否已安装?
  • 是的nest cli已经安装,我想用npm start运行,但是这个命令显示错误,但是用node dist/main运行成功,有什么问题?
  • @JayMcDoniel 我在 package.json 中的启动脚本是嵌套启动,但它使用此命令在节点模块上显示错误,但使用节点 dist/main 运行
  • 我只能假设您还没有构建服务器。除了无法运行nest start 并且由于EventEmitter 出现一些错误之外,上面并没有真正说明什么
  • 所以是代码的问题?

标签: npm amazon-ec2 amazon-elastic-beanstalk nestjs


【解决方案1】:

您需要将 package.json 中 "start" 的值更改为 "npm i -g @nestjs/cli &amp;&amp; node dist/main"

它应该类似于以下行:

“开始”:“npm i -g @nestjs/cli && node dist/main”

如果您使用的是 prisma,则需要这样做:

"start": "npm i -g @prisma/cli @nestjs/cli && prisma 生成 && 节点 分布/主”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 2015-06-19
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 2017-04-01
    相关资源
    最近更新 更多