React无法在浏览器运行,fast-glob模块缺失问题求助
错误信息
Error: Cannot find module '/Users/thomasmckenna/Downloads/React-Firebase-lesson-58/magic-memory/node_modules/fast-glob/out/index.js'. Please verify that the package.json has a valid "main" entry
at tryPackage (node:internal/modules/cjs/loader:353:19)
at Function.Module._findPath (node:internal/modules/cjs/loader:566:18)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:94:18)
at Object. (/Users/thomasmckenna/Downloads/React-Firebase-lesson-58/magic-memory/node_modules/react-scripts/node_modules/globby/index.js:5:18)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32) {
code: 'MODULE_NOT_FOUND',
path: '/Users/thomasmckenna/Downloads/React-Firebase-lesson-58/magic-memory/node_modules/fast-glob/package.json',
requestPath: 'fast-glob'
}
项目package.json配置
{ "name": "magic-memory", "version": "0.1.0", "private": true, "dependencies": { "@testing-library/jest-dom": "^5.14.1", "@testing-library/react": "^11.2.7", "@testing-library/user-event": "^12.8.3", "react": "^17.0.2", "react-dom": "^17.0.2", "react-scripts": "^4.0.3", "web-vitals": "^1.1.2" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "eslintConfig": { "extends": [ "react-app", "react-app/jest" ] }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "devDependencies": { "react-dev-utils": "^12.0.1" } }
解决方案
方案1:清理依赖并重新安装
这是解决模块缺失问题的通用方法:
- 删除本地依赖文件夹和锁文件:
rm -rf node_modules package-lock.json yarn.lock - 重新安装所有依赖:
npm install # 使用yarn的话执行:yarn install - 重新启动项目:
npm start
方案2:锁定fast-glob兼容版本
react-scripts@4.0.3依赖的globby版本与最新fast-glob存在兼容问题,可手动指定兼容版本:
- 在package.json的
dependencies中添加:"fast-glob": "^3.2.11" - 执行
npm install更新依赖后启动项目。
方案3:升级react-scripts版本
react-scripts@4.0.3版本较旧,升级到稳定版可解决依赖兼容问题:
- 执行升级命令:
npm install react-scripts@latest - 重新安装依赖并启动项目。
内容的提问来源于stack exchange,提问作者Mckennat33

