是否有一种方法让pm2运行npm启动脚本,或者你只需要运行pm2 start app.js
所以在发展中
npm start
然后在使用pm2的生产中,你会运行这样的程序
pm2 start 'npm start'
有一种等效的方法可以永远做到这一点:
forever start -c "npm start" ./
是否有一种方法让pm2运行npm启动脚本,或者你只需要运行pm2 start app.js
所以在发展中
npm start
然后在使用pm2的生产中,你会运行这样的程序
pm2 start 'npm start'
有一种等效的方法可以永远做到这一点:
forever start -c "npm start" ./
当前回答
PM2现在支持npm start:
pm2 start npm -- start
要给PM2进程分配一个名称,使用——name选项:
pm2 start npm --name "app name" -- start
其他回答
开始前别忘了留出空间
pm2 start npm --[space]start
所以正确的命令是:
pm2 start npm -- start
它在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——name" custom_pm2_name"——运行prod
"scripts": {
"prod": "nodemon --exec babel-node ./src/index.js"
}
当其他人没有的时候,这对我有用
如果你通过节点模块而不是全局使用PM2,你需要设置interpreter: 'none'以使上述解决方案工作。相关文档在这里。
在ecosystem.config.js:
apps: [
{
name: 'myApp',
script: 'yarn',
args: 'start',
interpreter: 'none',
},
],
我在下面写了shell脚本(名为start.sh)。 因为我的包裹。Json有预启动选项。 我想运行npm start。
#!/bin/bash
cd /path/to/project
npm start
然后,通过pm2启动start.sh。
pm2 start start.sh --name appNameYouLike