npm run dev执行失败:next命令未找到及脚本错误求助
问题分析与解决步骤
核心问题拆解
sh: next: command not found:本质是项目依赖未完整安装,本地node_modules里没有next包,且你全局也没安装next,导致系统找不到这个命令。npm run pidelo-app@0.1.0 dev报错:这是你用错了npm run的命令格式,pidelo-app@0.1.0是项目的名称和版本号,不是脚本名,正确格式是npm run <脚本名>,所以这个命令本身就不成立。
具体解决步骤
- 彻底重装项目依赖
- 删除项目根目录下的
node_modules文件夹,以及package-lock.json(如果用yarn就是yarn.lock)文件 - 执行
npm install(yarn项目用yarn install),等待依赖安装完成,注意看控制台有没有报错,有报错要先解决(比如网络问题、Node版本不兼容)
- 删除项目根目录下的
- 检查package.json的scripts配置
打开项目根目录的package.json,找到scripts字段,确认是否存在dev脚本,正常Next.js项目的dev脚本应该是这样:
如果"scripts": { "dev": "next dev", "build": "next build", "start": "next start" }dev脚本不存在,那就是项目的scripts配置有问题,需要手动添加或者找前同事确认正确的启动命令。 - 如果重装后仍报next找不到
- 优先用
npx执行本地的next命令:npx next dev,npx会自动调用本地node_modules里的next - 不推荐全局安装next(容易出现版本兼容问题),如果非要全局装,执行
npm install -g next
- 优先用
额外提醒
以后用npm run的时候,只需要跟脚本名称就行,比如npm run dev、npm run build,不要加项目名称和版本号,那部分信息是package.json里的元数据,和脚本执行无关。
内容的提问来源于stack exchange,提问作者Grimidk
相关产品推荐
相关产品推荐

