执行sequelize db:migrate时提示需手动安装sqlite3包错误求助
解决Sequelize CLI迁移SQLite时提示"Please install sqlite3 package manually"的问题
我之前在Windows环境下用Sequelize操作SQLite时也碰到过一模一样的问题,给你几个亲测有效的解决步骤,按顺序试试:
第一步:确认sqlite3已正确安装且版本兼容
有时候依赖安装会因为网络或缓存问题隐性失败,哪怕你以为已经装过了。先卸载再重新安装,针对你的Node 10.16.0版本,推荐安装兼容性更稳定的sqlite3@4.2.0:npm uninstall sqlite3 npm install sqlite3@4.2.0 --save如果用Yarn的话,对应命令是:
yarn remove sqlite3 yarn add sqlite3@4.2.0第二步:清理依赖缓存并重装所有依赖
npm缓存损坏也可能导致依赖无法正常加载,执行以下命令重置依赖环境:# 强制清理npm缓存 npm cache clean --force # 删除node_modules文件夹和锁文件 rm -rf node_modules package-lock.json # 重新安装所有依赖 npm install第三步:检查Sequelize配置文件是否正确
打开config/config.json,确认development环境的配置完全符合SQLite要求:{ "development": { "dialect": "sqlite", "storage": "./database.sqlite", "logging": false } }重点确认
dialect值为sqlite,storage的相对路径正确(如果数据库文件还没生成,Sequelize会自动创建)。第四步:安装Windows编译工具(仅Windows环境)
SQLite3是原生模块,Windows下需要编译环境才能正常安装。打开管理员权限的PowerShell执行:npm install --global windows-build-tools安装完成后,再重新安装sqlite3:
npm install sqlite3@4.2.0 --save第五步:使用项目本地的Sequelize CLI执行迁移
全局安装的Sequelize CLI可能和项目本地依赖不兼容,试试用项目本地的CLI执行命令:npx sequelize db:migrate
如果以上步骤都试过还是不行,可以再核对下Node 10.16.0和Sequelize 5.8.12的兼容性——两者是匹配的,大概率还是依赖安装或配置细节的问题。
内容的提问来源于stack exchange,提问作者elena
相关产品推荐
相关产品推荐

