Olá!
Erro sqlite
:
...
node-pre-gyp WARN Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.1.1/node-v83-win32-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for sqlite3@4.1.1 and node@14.8.0 (node-v83 ABI, unknown) (falling back to source compile with node-gyp)
...
Venho aqui disponibilizar o passo-a-passo para resolver o erro do sqlite ao tentar instalar o server-api (pasta server-petshop) na Aula 02.
Se tiver já instalado ou alterado alguma coisa, delete a pasta server-petshop, e a baixe novamente no link disponibilizado no curso.
Próximos passos:
Delete o
package-lock.json
No terminal, dentro da pasta server-petshop, instale o
sqlite3
:...\projeto_inicial> cd server-petshop ...\projeto_inicial\server-petshop> npm install sqlite3 --save
Delete a linha
"sqlite": "^3.0.3"
empackage.json
Instale o
sqlite
v4+:...\server-petshop> npm install sqlite --save
Instale o restante dos pacotes:
...\server-petshop> npm install
Em
...\server-petshop\infraestrutura\database\
queries.js
, altere as seguintes linhas:-const sqlite = require("sqlite"); +const sqlite3 = require('sqlite3'); +const { open } = require('sqlite'); const executaQuery = async (res, query) => { - const conexao = await sqlite.open("./database.sqlite"); + const conexao = await open({ + filename: './database.sqlite', + driver: sqlite3.Database, + }); const resBD = await conexao.all(query); res.json(resBD); - await sqlite.close(conexao); + await conexao.close(); }; module.exports = executaQuery;
Em
...\server-petshop\infraestrutura\database\
tabelas.js
, altere as seguintes linhas:-const SQL = require("sql-template-strings"); -const sqlite = require("sqlite"); +const SQL = require('sql-template-strings'); +const sqlite3 = require('sqlite3'); +const { open } = require('sqlite'); class Tabelas { async init() { - this.conexao = await sqlite.open("./database.sqlite"); + this.conexao = await open({ + filename: './database.sqlite', + driver: sqlite3.Database, + }); this.criaClientes(); this.criaPets(); this.criaServicos(); this.criaAtendimentos(); - await sqlite.close(this.conexao); + await this.conexao.close(); } criaClientes() { ...