是否有一种方法让pm2运行npm启动脚本,或者你只需要运行pm2 start app.js

所以在发展中

npm start

然后在使用pm2的生产中,你会运行这样的程序

pm2 start 'npm start'

有一种等效的方法可以永远做到这一点:

forever start -c "npm start" ./

当前回答

现在,你可以用after:

pm2 start npm -- start

关注https://github.com/Unitech/pm2/issues/1317#issuecomment-220955319

其他回答

它在CentOS 7上运行良好

PM2版本4.2.1

让我们举两个例子:

1. npm start //server.js

pm2 start "npm -- start" --name myMainFile

2. NPM运行main //main.js

pm2 start "npm -- run main" --name myMainFile

是的。使用pm2启动npm——no-automation——name{应用程序名称}——运行{脚本名称}。它的工作原理。——no-automation标志的存在是因为如果没有它,PM2将不会在应用崩溃时重新启动应用。

用npm start方法运行PM2并给它命名,运行这个, Pm2启动NPM——命名"your_app_name"——启动

通过为日志传递date-format来运行它, 启动npm——name" your_name"——log-date-format 'DD-MM HH:mm:ss。SSS’——开始

如果你通过节点模块而不是全局使用PM2,你需要设置interpreter: 'none'以使上述解决方案工作。相关文档在这里。

在ecosystem.config.js:

  apps: [
    {
      name: 'myApp',
      script: 'yarn',
      args: 'start',
      interpreter: 'none',
    },
  ],

对于普通用户

PM2现在支持npm start:

pm2 start npm -- start

要给PM2进程分配一个名称,使用"——name"选项:

pm2 start npm --name "your desired app name" -- start

对于root用户

sudo pm2 start npm -- start

要给PM2进程分配一个名称,使用"——name"选项:

sudo pm2 start npm --name "your desired app name" -- start