专业的编程技术博客社区

网站首页 > 博客文章 正文

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

baijin 2024-08-18 13:22:05 博客文章 5 ℃ 0 评论

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

.最简单得到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 // 这样每次执行时更简便

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表