将React项目移动到子文件夹后运行报错“Could not read package.json: Error: ENOENT: no such file or directory”的解决方法
React项目移动到子文件夹后运行报错“Could not read package.json: Error: ENOENT: no such file or directory”的解决方法
嘿,我之前也碰到过这个坑!把React项目移到子文件夹后报错找不到package.json,大多是路径没跟上的问题,给你几个实用的解决办法:
1. 先检查终端的工作目录,切换到子文件夹里
当你把项目挪到子文件夹后,终端很可能还停留在原来的父文件夹路径,自然找不到子文件夹里的配置文件。操作步骤很简单:
- 先在终端输入
pwd(Mac/Linux)或者cd(Windows),看看当前是不是在项目所在的子文件夹里。 - 如果不是,用
cd 你的子文件夹名称命令切换过去,比如子文件夹叫react-sub-app,就输入cd react-sub-app。 - 切换完成后再运行
npm start或者yarn start,应该就能正常找到package.json了。
2. 更新VS Code的工作区路径
如果你是用VS Code内置的终端运行项目,可能VS Code当前打开的还是原来的父文件夹,导致终端默认路径不对:
- 最简单的办法:关闭当前VS Code窗口,直接双击打开项目所在的子文件夹,或者在VS Code里通过
文件 > 打开文件夹选择子文件夹。 - 重新打开终端后,默认路径就会是子文件夹的路径,再试启动命令应该就没问题了。
3. 检查配置文件里的硬编码路径(如果有修改过)
要是你之前修改过项目的配置文件(比如webpack.config.js、vite.config.js或者.env),里面可能有硬编码的旧路径:
- 打开这些配置文件,看看有没有类似
../package.json或者绝对路径的引用。 - 把这些路径改成相对当前子文件夹的正确路径,或者用
__dirname这种动态获取路径的方式,避免硬编码。
4. 清除依赖缓存重新安装(可选)
极少数情况下,依赖缓存会因为路径变化出问题,可以试试这个大招:
- 在子文件夹里,删除
node_modules文件夹和package-lock.json(或者yarn.lock)。 - 运行
npm install或者yarn install重新安装所有依赖。 - 安装完成后再启动项目,应该就能解决问题了。
备注:内容来源于stack exchange,提问作者gili
相关产品推荐
相关产品推荐

