错误:当我执行“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:migratesequelize 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 使用 。切换到 Node8 版本后,我进行了 npm install 并且它对我有用。【参考方案6】:

设置 unsafe-perm 对我有用:

npm i --unsafe-perm

【讨论】:

以上是关于错误:当我执行“sequelize db:migrate”时,“请手动安装 sqlite3 包”的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 错误:与 Apple 的通信失败。您无权执行此操作。当我有

ORA-01722: 无效编号 当我尝试执行存储过程时。甲骨文错误

当我执行ajax并返回错误时,Jquery获取自定义响应内容[重复]

当我尝试在 Spring Tool suite 4 中执行一个简单程序时,它返回一个奇怪的错误 [重复]

当我添加 Firebase 时,AppDelegate 出现错误

错误:当我执行“sequelize db:migrate”时,“请手动安装 sqlite3 包”