当前位置: 首页 > article >正文

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

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

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

第一种方法:

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

const exec = require("child_process").exec;
exec("npm run dev", { windowsHide: true });

2)在项目根目录执行

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

第二种方法:

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

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路径

  • 打开任意终端执行
 npm config get prefix
  • 将其输出复制到文件夹并打开
    在这里插入图片描述

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

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

4) 在项目根目录执行

pm2 start

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

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

const exec = require("child_process").exec;
exec("npm run dev", { windowsHide: true });

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

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

3)在项目根目录执行

pm2 start // 这样每次执行时更简便

http://www.kler.cn/a/227843.html

相关文章:

  • 路由器、路由器的构成、交换结构
  • 以小猪o2o生活通v17.1为例简要分析SWOOLE加密破解,swoole_loader加密破解swoole加密逆向后的代码修复流程(个人见解高手掠过)
  • 关于source批量处理sql命令建立数据库后发现中文乱码问题解决方案(Mysql)
  • MySQL深入——17(主备延迟)
  • 基于springboot就业信息管理系统源码和论文
  • 关于Django部署
  • 什么是实时数据库
  • Kotlin 协程:深入理解 ‘async { }‘
  • 【自动化测试】----Java的单元测试工具Junit5
  • 计算机网络实验四
  • c++入门学习⑤——对象模型和this指针
  • 重磅发布!使用 LangGraph 创建一个超级AI Agent
  • Compose中的重组、state、remember
  • CSS-IN-JS
  • ObjectMapper之处理JSON序列化和反序列化
  • java设计模式:观察者模式
  • 自动化报告pptx-python|如何将pandas的表格写入PPTX(二)
  • Git--07--GitExtension
  • 算法总结归纳(第十一天)(部分数据结构、图论(部分))
  • 算法练习-三数之和(思路+流程图+代码)