无法使用 pm2 运行节点应用程序

问题描述

我做了一个小的 nestjs webapp,它连接到本地 mssql 数据库并且工作正常......除非我尝试使用 pm2 启动它。

  • 常规 <v-skeleton-loader v-else @click="loadCard(item)" :loading="item.isActive" style="width:13.020vw; margin-bottom:2.395833vw;" transition="scale-transition" type="card"> </v-skeleton-loader> 有效(它转换为 yarn start:dev
  • 构建生产并运行 nest start --watch 也可以正常工作(转换为 yarn start:prod
  • 运行 node dist/main 也可以正常运行

但如果我尝试启动运行 nodemon build/main.js 的应用程序,我会收到数据库连接错误pm2 start build/main.js

我的数据库连接参数当前存储在 .env 文件中。我加载它们运行 TypeError: The "config.server" property is required and must be of type string 并且它对我列出的其他三个运行方法工作正常。我试图更改参数以包含引号和双引号,但没有运气:

  • env.config()
  • db_host = localhost
  • db_host = 'localhost'

我做错了什么?

解决方法

这可以帮助您,在文档中说您可以使用生态系统.config.js 文件中的环境变量: https://pm2.keymetrics.io/docs/usage/environment/

,

我们刚刚发现将语法从 pm2 start 更改为类似 pm2 start npm --name "myApp" -- run start:prod 的内容是有效的。