如何强制 PM2 使用我的应用程序的最新版本?

How do I force PM2 to use the latest version of my app?

我首先使用 pm2 start index.js --watch --ignore-watch "node_modules" 调用了 PM2。然而,尽管告诉它查看我的文件以进行更改然后重新加载,但当我从 git.

中拉出时,它并没有使用我的应用程序的最新版本。

要对此进行测试:

$ git show
new version commit message

$ pm2 describe index | grep comment
old version commit message

所以 PM2 使用的是缓存版本。

我尝试手动重新加载应用程序,使用 pm2 reload index:

$ pm2 reload index
[PM2] Applying action reloadProcessId on app [index](ids: 0)
[PM2] [index](0) ✓

但是,它仍然没有使用我的应用程序的最新版本。 pm2 describe index | grep comment 显示完全相同的旧版本提交消息。

我能够让它工作的唯一方法是 运行 pm2 kill 然后 pm2 resurrect,但这不是一个令人满意的解决方案。太慢了!

PM2 是否在做一些缓存?我已经阅读了他们所有的文档并进行了广泛的搜索,但无法弄清楚。

进一步测试后,这似乎是 git 提交的 PM2 报告 中的错误。提供的版本实际上是最新版本,但 PM2 报告的是过时版本。 Bug report published.