Gatsby运行yarn develop报错Cannot find module 'sanitize.css/page.css'如何解决
问题根因
该错误由
postcss-normalize与依赖的sanitize.css版本不兼容导致:sanitize.css从13.0.0版本开始移除了page.css、typography.css等单独拆分的入口文件,但低版本postcss-normalize仍然会默认调用这些不存在的文件路径。该导入逻辑是postcss插件在编译阶段自动注入的,和业务代码里写的CSS内容无关,所以清空样式文件代码不会解决问题。
修复方案
方案1:降级sanitize.css到兼容版本
执行对应包管理命令安装v12的最后一个稳定版本:# npm 命令 npm install sanitize.css@12.0.1 --save # yarn 命令 yarn add sanitize.css@12.0.1安装完成后删除项目根目录下的
.cache文件夹,重新执行yarn develop即可。方案2:调整postcss配置禁用normalize自动注入
找到项目根目录下的postcss.config.js文件,修改配置关闭normalize的默认导入即可:module.exports = { plugins: [ require('postcss-preset-env')({ // 新增这一行配置关闭自动注入 normalize: false }) ] }如果你不需要postcss-normalize的功能,也可以直接从postcss插件列表里移除该插件。
方案3:清理依赖缓存重试
如果上述方案都没有生效,按顺序执行以下命令清理缓存重装依赖即可:yarn clean rm -rf node_modules yarn.lock yarn install yarn develop
内容的提问来源于stack exchange,提问作者Cardoso
相关产品推荐
相关产品推荐

