多React项目启动异常:执行npm start均运行同一项目
React项目npm start总是启动同一项目的解决办法
排查方向和解决步骤
1. 处理全局依赖缓存异常
- 卸载全局安装的
create-react-app,避免全局包干扰:npm uninstall -g create-react-app - 强制清理npm缓存:
npm cache clean --force - 用npx重新创建测试项目(规避全局依赖问题):
npx create-react-app test-fix-project
2. 检查项目package.json配置
- 打开每个项目根目录的
package.json,查看scripts中的start命令是否被篡改。正常的start命令应为:
如果命令被改为指向其他项目的路径,会直接导致启动错误项目。"scripts": { "start": "react-scripts start" }
3. 排查端口与代理问题
- 关闭所有代理工具(如Charles、Fiddler),这类工具可能会将端口请求异常转发到旧项目。
- 手动指定不同端口启动项目,测试是否能区分:
若指定端口后能正常启动对应项目,说明默认3000端口的请求存在异常转发。PORT=3001 npm start
4. 清理浏览器缓存与Service Worker
- 浏览器缓存的旧项目Service Worker会导致访问localhost时自动跳转旧项目。按F12打开开发者工具,进入Application标签,找到Service Workers并点击
Unregister注销,随后清空浏览器缓存(快捷键Ctrl+Shift+Delete)。
5. 检查npm全局配置
- 执行命令查看npm全局配置,确认是否存在指向旧项目的异常配置:
重点留意npm config listprefix等可能关联项目路径的配置项。
内容的提问来源于stack exchange,提问作者Hyunsu Kim
相关产品推荐
相关产品推荐

