解决 Docusaurus 中的本地搜索插件(docusaurus-search-local)报错问题

在Docusaurus文档项目中,导入本地搜索插件可能引发版本冲突报错,通过配置package.json解决。打包时报错"Unable to build website for locale zh-Hans"需安装nodejieba包,若安装报错可参考相关解决方案。

主页 > 博客 > 解决 Docusaurus 中的本地搜索插件(docusaurus-search-local)报错问题

运行时报错

在 Docusaurus 文档项目中导入本地搜索插件(docusaurus-search-local)后,使用npm run start 命令运行项目时,有很大情况会出现版本冲突,比如会提示“Module not found: Error: Can't resolve '@docusaurus/theme-common'”

解决 Docusaurus 中的本地搜索插件(docusaurus-search-local)报错问题

要解决这种情况,需要在package.json中添加一段配置:

  "overrides": {
    "@cmfcmf/docusaurus-search-local": {
      "@docusaurus/core": "^3.0.1"
    }
  },

注意这里的@docusaurus/core版本要跟你项目中安装的版本一致,配置完毕后保存,然后将项目中的 node_modules文件和package-lock.json删了(如果有的话)以重新初始化项目,初始化命令为npm install --force,这样应该就能解决问题。

解决 Docusaurus 中的本地搜索插件(docusaurus-search-local)报错问题

打包时报错

在 Docusaurus 文档项目中使用npm run build命令项目时报错:“Error: Unable to build website for locale zh-Hans.”

解决 Docusaurus 中的本地搜索插件(docusaurus-search-local)报错问题

如果你在项目里设置了本项目的语言为中文,那么你使用docusaurus-search-local这个插件的时候还需要安装 nodejieba 这个 npm 包,版本至少要在 2.5.0 或更高。

解决 Docusaurus 中的本地搜索插件(docusaurus-search-local)报错问题

安装命令:

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
解决 Docusaurus 中的本地搜索插件(docusaurus-search-local)报错问题

解决安装时报错的参考:https://juejin.cn/post/7020610514057166862

解决 Docusaurus 中的本地搜索插件(docusaurus-search-local)报错问题
在Docusaurus文档项目中,导入本地搜索插件可能引发版本冲突报错,通过配置package.json解决。打包时报错“Unable to build website for locale zh-Hans”需安装nodejieba包,若安装报错可参考相关解决方案。

知识扩展: