You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下PM2启动NextJS应用遇Script not found错误

在Windows PowerShell中使用PM2启动Next.js应用的报错解决方法

我的Next.js应用package.json的scripts配置如下:

"scripts": {
  "build": "next build",
  "dev": "next dev",
  "postinstall": "prisma generate",
  "lint": "next lint",
  "start": "next start",
  "buildstyles": "tailwindcss -i ./src/styles/globals.css -o ./src/styles/output.css --watch",
  "prepare": "husky install",
  "prettier": "prettier --write **/*"
},

按照PM2文档执行pm2 start \"npm run start\"时,WSL环境可以正常运行,但在Windows PowerShell中报错:

[PM2][ERROR] Script not found: D:\Projects\MyProject\npm run start

解决方法

方法1:使用PM2正确的命令语法

PowerShell中不需要转义引号,PM2启动npm脚本的标准格式是将npm作为命令,run start作为参数传递,执行以下命令:

pm2 start npm -- run start

这个命令会让PM2调用npm去执行start脚本,而不是把整个字符串当作文件路径查找。

方法2:使用ecosystem.config.js配置文件(推荐)

创建项目根目录的ecosystem.config.js文件,配置应用信息:

module.exports = {
  apps: [
    {
      name: "my-nextjs-app", // 自定义应用名称
      script: "npm",
      args: "run start",
      cwd: "D:\\Projects\\MyProject", // 替换为你的项目绝对路径
      env: {
        NODE_ENV: "production"
      }
    }
  ]
};

然后执行启动命令:

pm2 start ecosystem.config.js

这种方式可以避免命令行引号的兼容性问题,还能统一管理应用的环境变量、重启策略等配置。

方法3:前置排查步骤

  • 先在PowerShell中手动执行npm run start,确认应用本身可以正常启动,排除应用自身问题。
  • 检查Windows环境下是否正确安装PM2,执行pm2 --version验证,若未安装则运行npm install -g pm2全局安装。

内容的提问来源于stack exchange,提问作者avenmia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 04:15:21