Linux部署Django-React旧项目时yarn build因Bootstrap报错求助
解决Yarn Build时Sass无法导入Bootstrap的问题
问题根源
你使用的是Yarn Berry(新版Yarn),它的模块解析逻辑和旧版Yarn Classic不同,不支持~前缀的webpack风格路径别名,同时缓存的压缩包路径也导致Sass无法找到Bootstrap的SCSS文件。
解决方案
1. 确认Bootstrap依赖已正确安装
先检查项目中是否已安装指定版本的Bootstrap:
yarn list bootstrap
如果输出中没有bootstrap@5.3.3,执行以下命令安装:
yarn add bootstrap@5.3.3 --save
2. 修改Sass导入语句
打开src/assets/scss/style.scss,把第3行的导入语句修改为以下两种方式之一:
- 方式一(推荐):移除
~前缀
新版Yarn支持直接通过包名导入内部文件,修改后:@import "bootstrap/scss/bootstrap"; - 方式二:使用相对路径
如果方式一无效,根据你的文件层级,使用相对路径指向node_modules中的Bootstrap文件。例如,假设style.scss在src/assets/scss,路径可能是:@import "../../../node_modules/bootstrap/scss/bootstrap";
3. 清除缓存并重新安装依赖
执行以下命令清理旧缓存和依赖,重新构建依赖环境:
# 清除Yarn缓存 yarn cache clean # 删除node_modules文件夹 rm -rf node_modules # 重新安装依赖 yarn install
4. 切换回Yarn Classic(针对旧项目)
如果你的项目是基于Yarn Classic(1.x版本)开发的,和Yarn Berry不兼容,可以切换回旧版本:
# 全局安装Yarn Classic npm install -g yarn@1 # 在项目目录切换到Classic版本 yarn set version classic # 重新安装依赖 yarn install
完成后再尝试执行yarn build
内容的提问来源于stack exchange,提问作者HuLu ViCa
相关产品推荐
相关产品推荐

