ExpressJS最新版报错:找不到sqlite模块(已安装sqlite3)求助
解决Express项目中"Cannot find module 'sqlite'"报错问题
你的核心问题是:安装了sqlite3模块,但项目里有代码在引用不存在的sqlite模块。你的index.js里没直接写require('sqlite'),但你导入的路由文件(比如./routes/api/services、./routes/api/vehicles等)里肯定存在这个错误引用。
解决方案步骤:
定位错误引用位置
在项目根目录执行命令,搜索所有包含require('sqlite')的文件:# macOS/Linux grep -r "require('sqlite')" ./ # Windows findstr /s "require('sqlite')" .\*执行后会列出所有写错引用的文件路径。
修正模块引用
打开找到的文件,把所有require('sqlite')替换成require('sqlite3'),确保和你实际安装的模块名称一致。清理无效依赖(可选)
如果你之前误安装过sqlite模块,执行以下命令清理:npm uninstall sqlite同时检查
package.json,确保只有sqlite3作为依赖,没有多余的sqlite条目。重启项目验证
重新执行npm start,报错应该会消失。
额外排查点:
如果你的项目用了ORM框架(比如Sequelize),要检查数据库配置文件,确认dialect对应的模块是sqlite3,而不是sqlite。例如:
const sequelize = new Sequelize({ dialect: 'sqlite', dialectModule: require('sqlite3'), // 这里要确保引用的是sqlite3 storage: './database.sqlite' });
内容的提问来源于stack exchange,提问作者Soulaimane Aflou
相关产品推荐
相关产品推荐

