解决 Docusaurus 中的本地搜索插件(docusaurus-search-local)报错问题
在Docusaurus文档项目中,导入本地搜索插件可能引发版本冲突报错,通过配置package.json解决。打包时报错"Unable to build website for locale zh-Hans"需安装nodejieba包,若安装报错可参考相关解决方案。
运行时报错
在 Docusaurus 文档项目中导入本地搜索插件(docusaurus-search-local)后,使用npm run start
命令运行项目时,有很大情况会出现版本冲突,比如会提示“Module not found: Error: Can't resolve '@docusaurus/theme-common'”
要解决这种情况,需要在package.json
中添加一段配置:
"overrides": {
"@cmfcmf/docusaurus-search-local": {
"@docusaurus/core": "^3.0.1"
}
},
注意这里的@docusaurus/core
版本要跟你项目中安装的版本一致,配置完毕后保存,然后将项目中的 node_modules
文件和package-lock.json
删了(如果有的话)以重新初始化项目,初始化命令为npm install --force
,这样应该就能解决问题。
打包时报错
在 Docusaurus 文档项目中使用npm run build
命令项目时报错:“Error: Unable to build website for locale zh-Hans.”
如果你在项目里设置了本项目的语言为中文,那么你使用docusaurus-search-local
这个插件的时候还需要安装 nodejieba
这个 npm 包,版本至少要在 2.5.0
或更高。
安装命令:
npm install node-gyp
npm install nodejieba --force
安装时报错:
npm ERR! node-pre-gyp http GET https://github.com/yanyiwu/nodejieba/releases/download/v2.6.0/nodejieba-v2.6.0-node-v115-win32-x64.tar.gz
npm ERR! node-pre-gyp ERR! install response status 404 Not Found on https://github.com/yanyiwu/nodejieba/releases/download/v2.6.0/nodejieba-v2.6.0-node-v115-win32-x64.tar.gz
npm ERR! node-pre-gyp WARN Pre-built binaries not installable for [email protected] and [email protected] (node-v115 ABI, unknown) (falling back to source compile with node-gyp)
npm ERR! node-pre-gyp WARN Hit error response status 404 Not Found on https://github.com/yanyiwu/nodejieba/releases/download/v2.6.0/nodejieba-v2.6.0-node-v115-win32-x64.tar.gz
解决安装时报错的参考:https://juejin.cn/post/7020610514057166862
知识扩展: