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

rdlzhqv9  于 2023-10-23  发布在  SQLite
关注(0)|答案(9)|浏览(168)

我正在尝试创建一个示例应用程序,使用这篇文章:
https://arjunphp.com/restful-api-using-async-await-node-express-sequelize/
但是,当尝试在sqlite上使用sequenze-configuration执行数据库迁移时,总是出现相同的错误:

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

我试过重建,但没有成功。
有什么想法吗?

fd3cxomn

fd3cxomn1#

更新:
如果我使用以下语句,则不会发生错误:

npx sequelize-cli db:migrate

而不是

sequelize db:migrate

迁移成功!
我希望这对某人有用。
感谢大家!

hk8txs48

hk8txs482#

首先全局安装sequelize-task
sudo npm install -g sequelize-cli
然后使用以下命令执行迁移。

sequelize db:migrate
vlju58qv

vlju58qv3#

在我的情况下,两者:
npx sequelize-cli db:migrate

sequelize db:migrate
没用
我不知道这是否是一个坏的做法,但只有全球安装:
npm i -g sqlite3
帮我解决问题

yk9xbfzb

yk9xbfzb4#

可能有点晚了,但写这篇文章是因为还没有被接受的答案:)
我尝试了Node10.x,你安装的sqlite3版本可能与Node-version不匹配,所以请将你的版本切换到Node8.x或9.x。
使用NVM在版本之间切换,并尽量避免全局安装软件包。

67up9zun

67up9zun5#

在我的例子中,由于节点版本不匹配,没有安装sqlite3。我将我的节点版本切换到v9.11.1,之后错误就消失了。

unftdfkk

unftdfkk6#

设置unsafe-perm为我工作:
npm i --unsafe-perm

cld4siwp

cld4siwp7#

如果你在这里没有修复,可能你像我一样禁用了npm postinstall脚本。对我来说,解决办法是:

cd project
cd node_modules/sqlite3
npm install
cd ../../
npx sequelize-cli db:migrate

现在它成功了

wwtsj6pe

wwtsj6pe8#

如果你在这个阶段仍然无法让它工作,那么在项目文件夹中运行这个:

npm update

npx sequelize-cli db:migrate
busg9geu

busg9geu9#

请全局安装sqlite3节点模块,它将修复此问题

npm i -g sqlite3

相关问题