You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 19.0与pm2不兼容?启动无端口监听如何调试

调试Angular 19 + PM2启动问题的步骤
  • 强制绑定Node版本启动
    确保PM2使用的Node版本和你本地运行的一致(避免PM2内置Node版本差异),执行:

    pm2 start dist/server/server.mjs --interpreter node@20.9.0
    

    也可以先检查当前PM2使用的解释器版本:

    pm2 info angular-server | grep interpreter
    
  • 显式指定日志输出路径
    强制捕获标准输出和错误日志,避免默认日志路径权限或捕获问题:

    pm2 start dist/server/server.mjs --log ./pm2-out.log --error ./pm2-err.log
    

    启动后直接查看这两个文件,大概率能找到启动失败或无监听的原因。

  • 启用PM2 verbose模式查看细节
    用 verbose 模式启动,获取更详细的启动日志:

    pm2 start dist/server/server.mjs -v
    

    同时可以实时查看原始日志输出:

    pm2 logs --raw
    
  • 使用PM2配置文件适配ES模块
    Angular 19构建的server.mjs是ES模块,可能PM2需要显式配置支持,创建ecosystem.config.js:

    module.exports = {
      apps: [{
        name: 'angular-server',
        script: 'dist/server/server.mjs',
        interpreter: 'node',
        env: {
          NODE_ENV: 'production'
        }
      }]
    };
    

    然后用配置文件启动:

    pm2 start ecosystem.config.js
    
  • 检查进程状态与端口监听
    用pm2 monit查看进程的CPU、内存占用情况,判断是否有异常;同时用以下命令检查Node进程的端口监听:

    lsof -i -P | grep node
    

    对比直接用node启动的进程,确认PM2启动的进程是否真的未监听端口。

  • 更新PM2到最新版本
    PM2 5.3.1可能对Angular 19的ES模块支持不足,更新到最新版测试:

    npm install -g pm2@latest
    

内容的提问来源于stack exchange,提问作者Lucas Tesseron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 01:22:34