GitHub Actions自动部署时提示pm2: command not found错误如何解决
GitHub Actions执行pm2重启步骤失败解决方案
- pm2命令未被正确识别
执行pm2相关步骤前显式全局安装pm2,避免环境变量缺失导致找不到命令:npm install -g pm2
也可以直接使用pm2的绝对路径执行,可通过which pm2命令提前查询你的环境中pm2的安装路径。 - 无对应名称的pm2运行进程
pm2的restart命令仅对已存在的运行进程生效,如果是首次部署或者进程意外退出,直接执行重启会报错。可以增加逻辑判断,进程存在则重启,不存在则执行启动:pm2 describe <你的项目名称> > /dev/null 2>&1 && pm2 restart <你的项目名称> || pm2 start <启动入口文件/ecosystem配置文件> --name <你的项目名称> - 用户权限不匹配
如果是通过SSH连接到远程服务器执行操作,确认登录服务器的用户和你之前启动pm2进程的用户为同一用户,不同用户的pm2进程列表相互隔离,普通用户无法操作root用户启动的pm2进程。 - 临时runner环境无历史进程
如果你是直接在GitHub Actions的临时runner环境中运行pm2而非部署到远程服务器,要注意每个Actions运行的runner都是全新的环境,不存在之前启动的pm2进程,这种场景需要调整逻辑为直接执行pm2启动命令,而非重启。
内容的提问来源于stack exchange,提问作者Shahzaib Imran
相关产品推荐
相关产品推荐

