node.js - PM2 集群模式 - 找不到模块 'dotenv/config'

标签 node.js environment-variables pm2

我正在尝试使用下面给出的配置文件在集群模式下使用 PM2 运行多个应用程序:

    "apps": [
        {
            "name": "Node APIs",
            "script": "./server",
            "watch": true,
            "node_args": "-r dotenv/config",
            "instances": "max",
            "exec_mode": "cluster"
        },
        {
            "name": "Node Batch",
            "script": "./batch_process",
            "watch": true,
            "node_args": "-r dotenv/config"
        }
    ]
}

Node API 进程在 pm2 list 中出现错误,而 Node Batch Process 工作正常。当我检查 ~/.pm2/pm2.logs 它说:

找不到模块“dotenv/config”

我已经在本地和全局安装了 dotenv 模块,但仍然显示相同的错误。

此外,PM2 集群模式在我的本地机器上工作正常,但在 AWS EC2 上它显示上述错误。我错过了什么?

PM2:v4.4.0 NodeJS:v8.12.0

最佳答案

经过多年的观察和试验,它似乎不能在集群模式下工作,但它可以在 fork 模式下工作。尝试以 fork 模式运行它。

关于node.js - PM2 集群模式 - 找不到模块 'dotenv/config',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62173363/

相关文章:

javascript - 类型错误 : Cannot read property 'name' of null

java - 在系统环境变量中定义Java Path时是否需要JAVA_HOME变量?

bash - 运行 SQL 时 Bash 中的 `<<-EOSQL` 代码块是什么?

node.js - 尝试安装 nodejs pm2 模块时出错

json - 使用Lambda部署时,fs.readFileSync无法找到文件

node.js - 使用 AWS codedeploy 部署 nodejs 实例的 NPM 问题

PHP缺少环境变量

node.js - Nodejs 与 PM2 和 Winston 合并日志

node.js - 如何在端口 3001、3002 等上运行 Node/Express App?

javascript - Node JS 需要没有 var