GitHub克隆项目后运行yarn start提示命令不存在如何解决
yarn start 执行报错修复方案
按以下步骤逐次排查,不要直接照搬网上的通用start脚本,不同技术栈、不同目录结构的项目启动逻辑完全不同,乱加配置100%不生效:
- 先确认执行命令的目录正确
不少开源仓库是monorepo结构,根目录只放工程化配置,实际可启动的项目代码存放在client、web、packages/xxx这类子目录下。先执行ls(Windows系统执行dir)查看当前目录下的文件,确认你要启动的项目对应的package.json就在当前目录,不要在仓库根目录随意修改配置。 - 校验当前目录的package.json配置是否可正常读取
执行以下命令打印当前项目所有配置好的可执行脚本:
如果命令输出的scripts块里没有你之前添加的start配置,要么是你改了其他目录下的package.json,要么是你修改后的package.json存在JSON语法错误(比如字段末尾漏写逗号、多了冗余括号、注释没删),yarn无法正常解析配置文件,自然识别不到你加的脚本。可以把package.json内容放到JSON校验工具里排查语法问题,语法错误修复后yarn才能正常读取脚本配置。cat package.json | grep -A 30 '"scripts"' - 按项目实际技术栈配置正确的start脚本,不要跨栈抄配置
先看项目根目录下的README.md文档,官方说明里的启动命令才是正确的,不同技术栈的默认启动命令没有通用性:- Vite 构建的React/Vue项目:启动命令为
vite - Create React App 搭建的React项目:启动命令为
react-scripts start - Vue CLI 搭建的Vue项目:启动命令为
vue-cli-service serve - Next.js 项目:开发环境启动命令为
next dev,生产环境启动命令为next start - 原生Node.js项目:启动命令为
node 入口文件名.js,常见入口为app.js、server.js、index.js
- Vite 构建的React/Vue项目:启动命令为
- 不要死磕
yarn start命令
不少项目默认配置的开发启动命令是yarn dev,生产启动命令才是yarn start,可以先执行yarn run打印所有可用的脚本命令,看列表里存在哪些可执行项,再对应执行,不要强行加不存在的start配置。
常见踩坑:如果修改package.json后配置一直不生效,先把node_modules目录和yarn.lock缓存文件删掉,重新执行
yarn安装依赖后再试,部分缓存会导致配置读取异常。
内容的提问来源于stack exchange,提问作者Rana Faraz
相关产品推荐
相关产品推荐

