Docusaurus构建失败:@easyops-cn/docusaurus-search-local插件报错求助
解决@easyops-cn/docusaurus-search-local插件构建报错的建议
报错分析
从报错栈来看,问题出在插件依赖的@cmfcmf/docusaurus-search-local的parse.js文件中,html2text方法尝试读取undefined的load属性,大概率是依赖版本不兼容或插件自身的兼容问题导致。
具体解决步骤
强制锁定html2text依赖版本
在package.json中添加版本锁定配置(根据包管理器选择对应方式):- 对于npm,先安装版本锁定工具:
然后在npm install npm-force-resolutions --save-devpackage.json中添加:"resolutions": { "html2text": "1.0.0" }, "scripts": { "preinstall": "npx npm-force-resolutions" } - 对于pnpm,直接添加:
"pnpm": { "overrides": { "html2text": "1.0.0" } }
配置完成后重新安装依赖。
- 对于npm,先安装版本锁定工具:
升级插件至最新版本
执行命令更新插件,获取修复后的版本:npm install @easyops-cn/docusaurus-search-local@latest简化插件配置测试
暂时简化docusaurus.config.js中的插件配置,排除可能的配置错误:require.resolve("@easyops-cn/docusaurus-search-local"), { hashed: true, language: ["en", "de"], docsRouteBasePath: "docs", // 将数组改为字符串尝试 searchResultLimits: 12 },清理依赖缓存并重装
删除现有依赖和锁文件,重新安装:rm -rf node_modules package-lock.json npm install尝试降级Node.js版本
虽然升级到18未解决,但可以尝试Node.js 16的稳定版本(如16.20.0),验证是否为Node.js版本兼容问题。
内容的提问来源于stack exchange,提问作者Gajendra
相关产品推荐
相关产品推荐

