我正在尝试使用本文创建一个示例应用程序:
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
我已经尝试过重建,但没有成功。
有什么想法吗?
更新:
如果我使用以下语句,则不会出现错误:
npx sequelize-cli db:migrate
而不是
sequelize db:migrate
迁移成功完成!
我希望它对某人有用。
谢谢大家!
首先全局安装sequelize-cli
sudo npm install -g sequelize-cli
然后使用以下命令执行迁移。
sequelize db:migrate
可能有点晚了,但写这篇文章是为了因为还没有接受的答案:)
我尝试使用 Node10.x ,您安装的 sqlite3 版本可能与 Node-version 不匹配,所以请将您的版本切换到 Node8.x 或 9.x。
使用NVM进行版本切换,尽量避免全局安装包。
就我而言:
npx sequelize-cli db:migrate
sequelize db:migrate
npm i -g sqlite3
在我的例子中,由于节点版本不匹配,未安装 sqllite3。我将节点版本切换到 v9.11.1,之后错误就消失了。
如果您在这里没有修复,您可能像我一样禁用了 npm postinstall 脚本。对我来说,解决办法是:
cd project
cd node_modules/sqlite3
npm install
cd ../../
npx sequelize-cli db:migrate
现在可以了
如果您在这个阶段仍然无法让它工作,请在项目文件夹中运行它:
npm update
npx sequelize-cli db:migrate