PM2 不会在 Vagrant 机器上观察文件更改

PM2 doesn't watch file change at Vagrant machine

我设置了一个具有以下目录结构的服务器:

project
|-- bootstrap
|   `-- process.json
`-- server
    |-- server.js
    `-- other_folder

project/bootstrap/process.json 是 PM2 应用配置文件,project/server/server.js 是服务器入口。我将 process.json 定义为

{
  "apps": [
    {
      "name": "odd.server",
      "script": "../server/server.js",
      "watch": "../server"
    }
  ]
}

我尝试启动服务器并使用以下命令观察 server 中的任何变化:

pm2 start process.json --only odd.server --env production

服务器已启动,但无法查看文件。对 server.js 所做的任何更改都不会触发服务器的重新启动。

路径是正确的,我不知道为什么它不起作用。我将感谢任何提供提示的人。

更新:

PM2 在 Vagrant 机器中 运行,project 文件夹是我主机上暴露给 Vagrant 的文件夹。

需要将watch_options设为

"watch_options": {
  "usePolling": true
}

来源:https://github.com/Unitech/pm2/issues/931