运行Next.js构建报错:已安装prop-types仍提示找不到该模块
问题排查解决方案
- 首先清理损坏的依赖缓存,执行以下命令重装所有依赖:
rm -rf node_modules package-lock.json npm install
- 避免用npx调用全局next命令,优先使用项目本地的脚手架版本,执行顺序调整为:
- 先执行构建命令:
npm run build - 构建成功后执行启动命令:
npm run start
npx会优先匹配全局安装的next版本,和你项目内的11.0.1版本不兼容就会出现依赖路径读取错误。
- 先执行构建命令:
- 检查prop-types依赖树是否存在冲突,执行命令:
npm ls prop-types,如果输出有UNMET DEPENDENCY或者版本冲突的报错,可以强制重装prop-types:npm install --save --force prop-types@15.7.2 - 检查你的
next.config.js和babel配置文件:
有没有配置externals规则将prop-types排除在构建打包范围外,有没有安装babel-plugin-transform-remove-prop-types这类插件,如果开启了生产环境自动移除prop-types的规则,需要确认你自己的业务代码和第三方依赖(比如react-slick、react-anchor-link-smooth-scroll)是否有生产环境还在引用prop-types的情况,有的话关闭对应移除规则即可。
内容的提问来源于stack exchange,提问作者Sofiane
相关产品推荐
相关产品推荐

