pm2应用版本不可用

Pm2 application version not available

我有一个 Express 服务器,其 package.json 包含 bin 部分以创建 link 到 运行 应用程序。

我想 运行 服务器使用 pm2 并且我生成生态系统文件如下:

module.exports = {
  apps : [{
    name: 'myServer',
    script: 'myserver',
    max_memory_restart: '500M',
    env: {
      NODE_ENV: 'development',
      USER_CONFIG_FILE: '/etc/myserver/myserver-config.json'
    },
    env_production: {
      NODE_ENV: 'production'
    },
    disable_logs: true
  }]
};

生态系统文件位于我用户的主文件夹中(因为它将包含所有应用程序),当我 运行 pm2 start 服务器正确启动时,但是 version应用程序 table 的列显示 N/A。

我还尝试将 cwd 字段添加到生态系统文件中,该字段设置为安装服务器的目录。

pm2 仅当我从服务器安装文件夹中 运行 pm2 start main.js 时才能正确显示应用程序版本。

有什么方法可以告诉 pm2 从任意文件夹启动时如何提取应用程序版本?

我找到了避免使用通过 bin 部分创建的 link 的解决方法。我使用生态系统字段 cwd 指向包含 package.json 的文件夹,并使用主脚本的名称设置 script

module.exports = {
  apps : [{
    name: 'myServer',
    cwd: '/path/to/app/',
    script: 'index.js',
    max_memory_restart: '500M',
    env: {
      NODE_ENV: 'development',
      USER_CONFIG_FILE: '/etc/myserver/myserver-config.json'
    },
    env_production: {
      NODE_ENV: 'production'
    },
    disable_logs: true
  }]

};