windows pm2 执行 npm脚本或执行yarn脚本遇到的问题及解决方案

环境: 在windows上启动终端来运行一个项目;通过指令npm run start来启动,但是将终端一关,就无法访问了,所以想到用pm2来管理

1. 全局安装pm2
javascript 复制代码
npm i pm2 -g
2. 在项目根目录执行指令(大部分兄弟的错误使用方法)
javascript 复制代码
pm2 start "npm run start"
// 或
pm2 start "npm" -- start
  • 在windows上很遗憾都不行,下面直接上正确代码,有两种方法实现
  • 第一种简单,但是并不是所有pm2版本都支持,且会有一闪而过的cmd框(我下载的5.31版本支持)
  • 推荐第二种

第一种方法:

1)在项目根目录新建pm2.js;并且在其中写入

javascript 复制代码
const exec = require("child_process").exec;
exec("npm run dev", { windowsHide: true });

2)在项目根目录执行

javascript 复制代码
pm2 start pm2.js --name projectName // projectName 替换为你的项目名称,最好不为中文,中文有显示错乱问题

第二种方法:

1)在项目根目录新建ecosystem.config.js ;并且在其中写入

javascript 复制代码
module.exports = {
  apps: [
    {
      name: "demo", // 项目名称
      cwd: "./",
      script:
        "C:\\Users\\zhangsan\\AppData\\Roaming\\nvm\\v16.16.0\\node_modules\\npm\\bin\\npm-cli.js", // npm-cli.js路径,下面会说如何找
      args: "run dev",
    },
  ],
};

2) 如何找到自己的npm-cli.js路径

  • 打开任意终端执行
javascript 复制代码
 npm config get prefix
  • 将其输出复制到文件夹并打开

  • 在打开的文件夹依次点击node_modules --->npm ---> bin ,即可看到npm-cli.js

  1. .最简单得到npm-cli.js路径的方法
javascript 复制代码
npm config get prefix 
// 拼接上
\\node_modules\\npm\\bin\\npm-cli.js
// npm config get prefix 打印出的路径也需要对应\\ 

4) 在项目根目录执行

javascript 复制代码
pm2 start

第三种(第一种结合第二种的改版)

1)在项目根目录新建pm2.js;并且在其中写入

javascript 复制代码
const exec = require("child_process").exec;
exec("npm run dev", { windowsHide: true });

2)在项目根目录新建ecosystem.config.js ;并且在其中写入

javascript 复制代码
module.exports = {
  apps: [
    {
      name: "demo", // 项目名称
      cwd: "./",
      script:
        "./pm2.js",
    },
  ],
};

3)在项目根目录执行

javascript 复制代码
pm2 start // 这样每次执行时更简便
相关推荐
星间都市山脉16 小时前
Android STS(Security Test Suite)完整介绍与测试流程
android·java·linux·windows·ubuntu·android studio·androidx
xiaoliuliu1234517 小时前
Sketchpad 5.0.6 几何画板安装版配置教程 Windows版:部署+桌面快捷方式创建指南
windows
惊鸿一博18 小时前
网络端口开放访问权限_Windows 11 上确保防火墙允许指定端口如3001可被访问
网络·windows
软件无线电小方圆20 小时前
Windows下基于PyQt6上位机开发环境搭建
windows
蜀道山老天师21 小时前
OpenClaw Skills 技能开发 + 企业运维全场景实战(进阶篇)
人工智能·windows·microsoft
舟遥遥娓飘飘21 小时前
文稿起草系统,离线学习写作人的“思维 + 风格“,按学到的特征起草新文稿,再用反馈闭环持续提升
windows·学习
之歆21 小时前
Node.js 与 NPM 包管理完全指南
前端·npm·node.js
12点一刻1 天前
npx 使用入门教程:是什么、怎么用、和 npm 有什么区别
前端·npm·node.js
至此流年莫相忘1 天前
Windows 环境下 RocketMQ 安装与 NSSM 后台服务化部署指南
windows·rocketmq
AI行业学习1 天前
CC‑Switch v3.16.1 免费下载(Windows+macOS+Linux)、使用方法【2026.6.11】
linux·开发语言·windows·python·macos·前端框架·html