错误:当我执行“sequelize db:migrate”时,“请手动安装 sqlite3 包”
Posted
技术标签:
【中文标题】错误:当我执行“sequelize db:migrate”时,“请手动安装 sqlite3 包”【英文标题】:ERROR: "Please install sqlite3 package manually" when I execute "sequelize db:migrate" 【发布时间】:2019-11-18 20:45:18 【问题描述】:我正在尝试使用这篇文章创建一个示例应用:
https://arjunphp.com/restful-api-using-async-await-node-express-sequelize/
但是当尝试在 sqlite 上使用 sequenze-cli 执行数据库迁移时,总是出现相同的错误:
C:\WORKING\todo\todos-manager>sequelize db:migrate
Sequelize CLI [Node: 10.16.0, CLI: 5.5.0, ORM: 5.8.12]
Loaded configuration file "config\config.json".
Using environment "development".
ERROR: Please install sqlite3 package manually
我已经尝试重建,但没有成功。
有什么想法吗?
【问题讨论】:
您必须另外安装sqlite3
包,如错误消息中所述。运行npm install sqlite3 --save
。
已经完成,没有成功!
奇怪。您是否尝试过完全删除 node_modules
目录并重新运行 npm install
?
@AnnaPohorielova:是的!
【参考方案1】:
更新:
如果我使用语句不会发生错误:
npx sequelize-cli db:migrate
而不是
sequelize db:migrate
迁移成功完成!
我希望它对某人有用。
谢谢大家!
【讨论】:
这对我也有用,但不知道为什么。好烦【参考方案2】:先全局安装sequelize-cli
sudo npm install -g sequelize-cli
然后使用以下命令执行迁移。
sequelize db:migrate
【讨论】:
【参考方案3】:就我而言:npx sequelize-cli db:migrate
和sequelize db:migrate
没用。我不知道这是否是一种不好的做法,但只能全局安装:npm i -g sqlite3
为我解决问题
【讨论】:
【参考方案4】:在我的情况下,由于节点版本不匹配,没有安装 sqllite3。我将我的节点版本切换到 v9.11.1,之后错误就消失了。
【讨论】:
【参考方案5】:可能有点晚了,但写这个是因为还没有公认的答案:)
我用 Node10.x 试过,你安装的 sqlite3 版本可能与 Node-version 不匹配,所以请将你的版本切换到 Node8.x 或 9.x。
使用 NVM 切换版本,尽量避免全局安装包。
【讨论】:
感谢您的回答,您能说明您运行了哪些命令吗? 安装 nvm 并输入以下命令: nvm install 8. 将安装 Node8 版本,然后执行 nvm list 将显示系统中安装的节点版本列表。要使用特定版本,请 nvm 使用设置 unsafe-perm
对我有用:
npm i --unsafe-perm
【讨论】:
以上是关于错误:当我执行“sequelize db:migrate”时,“请手动安装 sqlite3 包”的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 错误:与 Apple 的通信失败。您无权执行此操作。当我有
ORA-01722: 无效编号 当我尝试执行存储过程时。甲骨文错误
当我执行ajax并返回错误时,Jquery获取自定义响应内容[重复]
当我尝试在 Spring Tool suite 4 中执行一个简单程序时,它返回一个奇怪的错误 [重复]