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

如何手动设置pm2应用的version元数据字段?

手动设置PM2进程版本号的两种方法

方法1:给每个应用添加极简package.json

PM2默认会读取应用脚本所在目录下package.json中的version字段,作为pm2 ls里的版本显示内容。你可以在每个应用的脚本目录创建一个仅包含版本信息的package.json:

比如针对App1,在/home/scripts/websockets/目录下创建package.json:

{
  "version": "3.1.2"
}

针对App2,同样在对应目录创建:

{
  "version": "2.1.0"
}

之后重启PM2应用:

pm2 restart ecosystem.config.js

再次执行pm2 ls,就能看到版本号正常显示了。

方法2:在PM2配置中通过cwd指定含版本的目录

如果不想在脚本目录创建文件,可以单独建立存放版本配置的目录,比如/home/app-versions/App1/,在里面创建带version字段的package.json,然后在PM2配置中指定cwd字段指向该目录:

修改你的PM2配置:

{
    name: "App1",
    script: "/home/scripts/websockets/app1-websocket.js",
    cwd: "/home/app-versions/App1/", // 指向含package.json的目录
    instances: 1,
    log_date_format: "YYYY-MM-DD HH:mm",
    out_file : "/dev/null",
    restart_delay : 30000,
    max_restarts : 5,
    exp_backoff_restart_delay: 500,
    namespace: "APPS",
},
{
    name: "App2",
    script: "/home/scripts/websockets/app2-websocket.js",
    cwd: "/home/app-versions/App2/",
    instances: 1,
    log_date_format: "YYYY-MM-DD HH:mm",
    out_file : "/dev/null",
    restart_delay : 30000,
    max_restarts : 5,
    exp_backoff_restart_delay: 500,
    namespace: "APPS",
}

然后在/home/app-versions/App1/下创建对应版本的package.json,重启应用后即可生效。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:25:22