【问题标题】:ERROR: "Please install sqlite3 package manually" when I execute "sequelize db:migrate"错误:当我执行“sequelize db:migrate”时,“请手动安装 sqlite3 包”
【发布时间】: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:是的!

标签: node.js sqlite sequelize.js database-migration sequelize-cli


【解决方案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 使用 。切换到 Node8 版本后,我进行了 npm install 并且它对我有用。
        【解决方案6】:

        设置 unsafe-perm 对我有用:

        npm i --unsafe-perm

        【讨论】:

          猜你喜欢
          • 2018-10-20
          • 2014-11-15
          • 2019-11-17
          • 2020-06-09
          • 1970-01-01
          • 2018-09-09
          • 1970-01-01
          • 2013-06-03
          • 2020-09-10
          相关资源
          最近更新 更多