Strapi报错ConnectorError:找不到strapi-hook-mongoose模块如何解决?
解决Strapi中
ConnectorError: 连接器"strapi-hook-mongoose"未找到的问题 我之前在Strapi开发时碰到过完全一样的错误:
ConnectorError: 连接器"strapi-hook-mongoose"未找到:无法找到模块'strapi-connector-strapi-hook-mongoose'
折腾了好一阵才搞定,现在把经验分享给你——首先可以确定的是,你的mongoose配置本身大概率没有问题,别先急着改配置文件。
我当时的运行环境是:
- Node.js 10.15.3
- npm 6.4.1
- Strapi 3.0.0-beta.18.3
问题根源
这个错误的核心是模块名称被错误拼接了:Strapi在解析连接器配置时,会自动在你指定的连接器名称前加上strapi-connector-前缀。如果你在配置文件里写了connector: 'strapi-hook-mongoose',它就会去查找strapi-connector-strapi-hook-mongoose这个不存在的模块,自然就抛出错误了。
解决步骤
修正数据库配置文件
找到项目根目录下的config/database.js(或者对应环境的配置文件,比如config/env/development/database.js),把connector字段的值改成mongoose:module.exports = ({ env }) => ({ defaultConnection: 'default', connections: { default: { connector: 'mongoose', // 这里改为mongoose,而非strapi-hook-mongoose settings: { // 你的数据库连接配置 }, options: { // 额外配置选项 } } } });安装正确的依赖包
执行以下命令安装官方的mongoose连接器(如果还未安装):npm install strapi-connector-mongoose --save重启Strapi服务
停止当前运行的Strapi服务,重新启动后,这个错误应该就能消失了。
内容的提问来源于stack exchange,提问作者Lawrence Edmondson
相关产品推荐
相关产品推荐

