pm2 --update-env选项似乎无法正常工作

时间:2017-01-07 03:26:29

标签: node.js pm2

我使用这样的ecosystem.config.js启动了我的节点应用程序。

pm2 start ecosystem.config.js

我的ecosystem.config.js就在这里。

module.exports = {
  /**
  * Application configuration section
  * http://pm2.keymetrics.io/docs/usage/application-declaration/
  */
  apps : [
    // First application
    {
      name      : "API",
      script    : "./app/index.js",
      env: {
        COMMON_VARIABLE: "true"
      },
      env_production : {
        NODE_ENV: "production"
      }
    },
  ],

  /**
  * Deployment section
  * http://pm2.keymetrics.io/docs/usage/deployment/
  */
  deploy : {
    production : {
      user : "node",
      host : "212.83.163.1",
      ref  : "origin/master",
      repo : "git@github.com:repo.git",
      path : "/var/www/production",
      "post-deploy" : "npm install && pm2 startOrRestart ecosystem.json --env production"
    },
    dev : {
      user : "node",
      host : "212.83.163.1",
      ref  : "origin/master",
      repo : "git@github.com:repo.git",
      path : "/var/www/development",
      "post-deploy" : "npm install && pm2 startOrRestart ecosystem.json --env dev",
      env  : {
        NODE_ENV: "dev"
      }
    }
  }
}

然后我尝试更改配置文件以进行观看模式。我看了this document因此,我添加了watch: true属性,然后我尝试了pm2 restart ecosystem.config.js --update-env来应用更改后的配置。

应用程序重新启动,属性似乎已更改,因为当我尝试pm2 list时,启用了观看功能。但是我的应用程序在更改我的代码后没有重新启动。

所以,我刚试过pm2 delete 0pm2 start ecosystem.config.js然后它运作良好。

为什么--update-env选项不起作用?我做错了什么?

3 个答案:

答案 0 :(得分:2)

我发现更新pm2应用程序配置的唯一可靠方法是Dim iVal As Double iVal = [A1].Value [A1].FormulaR1C1 = "=" & iVal & "*R[1]C" 停止守护程序,或pm2 kill单个应用程序(如@hshan所述)。

此问题声称该问题已在2014年修复,但此处的评论以及我发现的其他问题/问题串似乎表明并非如此: https://github.com/Unitech/pm2/issues/528

更新:此处也正在进行讨论:https://github.com/Unitech/pm2/issues/3192

答案 1 :(得分:1)

pm2 restart <pid> --update-env 按照this 答案

中的建议为我工作

答案 2 :(得分:0)

尝试写入 Z:\ 驱动器时发生此更新错误

但是,我的 Windows 操作系统机器中没有 Z:\ 驱动器

以下帮助解决了问题:

1。添加用户环境变量如下:

PM2_HOME=%USERPROFILE%\.pm2

2。然后杀死 pm2 守护进程一次

pm2 kill

现在 pm2 update 工作正常。