Elettrone app cant trovare sqlite3 modulo

Nel mio elettrone app che ho installato sqlite3 via npm

npm install sqlite3

Ma una volta che cerco di interagire con il database non riesce a trovare il database, ecco il log:

Uncaught Errore: Impossibile trovare il modulo ‘D:\play\electron-quick-start\node_modules\sqlite3\lib\binding\electron-v1.3-win32-x64\node_sqlite3.node’

Qui è il codice JS:

console.log('whooooo');

var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('../db/info.db');

db.serialize(function () {
    db.run("CREATE TABLE lorem (info TEXT)");   

    var stmt = db.prepare("INSERT INTO lorem VALUES (?)");
    for (var i = 0; i < 10; i++) {
        stmt.run("Ipsum " + i);
    }
    stmt.finalize();

    db.each("SELECT rowid AS id, info FROM lorem", function (err, row) {
        console.log(row.id + ": " + row.info);
    });
});
db.close();

Ho anche provate in questo modo:

npm install sqlite3 --build-from-source

ma non riesce a installare!

Inoltre, sto usando Python3. Come si installa un modulo di lavorare con un elettrone?

  • Hai qualche soluzione per questo?
InformationsquelleAutor rakibtg | 2016-08-02

 

5 Replies
  1. 31

    In primo luogo:

    npm install electron-rebuild

    quindi provare parecchie volte:

    ./node_modules/.bin/electron-rebuild -w sqlite3 -p

    • funziona perfettamente, se in windows utilizzare alcuni bash client (io ho usato git bash)
    • secondo passaggio non riuscito, mi consigli di nodo-gyp’ hanno sbagliato il proxy, ma non so come modificare il nodo-gyp l’impostazione del proxy
    • Questo ha funzionato per un problema che ho avuto con migliore-sqlite3 ./node_modules/.bin/electron-ricostruzione -w meglio-sqlite3 -p :), ma non ha funzionato per sqlite3 🙁 … ho provato entrambi i moduli e aveva problemi di sempre, sia per lavoro, quindi questo almeno mi ha permesso di andare avanti con una di esse. Thxs
  2. 9

    Devi costruire questo modulo nativo con Elettroni a base di configurazioni.

    Provare:

    1. cd node_modules/sqlite3

    2. npm run prepublish

    3. node-gyp configure --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.3-win32-x64

    4. node-gyp rebuild --target=1.3.1 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/atom-shell --module_name=node_sqlite3 --module_path=../lib/binding/electron-v1.3-win32-x64

    Questo sta assumendo hai l’ultima versione di elettroni. È possibile modificare il config per abbinare il vostro elettrone versione.

    • Funzionato come un fascino, grazie, ricordate che se non avete nodo gyp, installarlo prima di fare queste cose..
    • Questo non funziona per me. Qualsiasi soluzione per questo errore? Errore : Uncaught Errore: Impossibile trovare il modulo ‘path_to_project\node_modules\sqlite3\lib\associazione\elettrone-v1.4-win32-ia32\node_sqlite3.nodo’
    • stackoverflow.com/questions/41307807/… c’è qualche soluzione per questo
    • Ho finito con l’errore npm ERR! missing script: prepublish
  3. 3

    1: Include ricostruire nel Pacchetto.file json e installare npm elettrone-ricostruire

    {
      "name": "electron-quick-start",
      "version": "1.0.0",
      "description": "A minimal Electron application",
      "main": "main.js",
      "scripts": {
        "start": "electron .",
        "rebuild": "electron-rebuild -f -w sqlite3"
      },
      "repository": "https://github.com/electron/electron-quick-start",
      "keywords": [
        "Electron",
        "quick",
        "start",
        "tutorial",
        "demo"
      ],
      "author": "author",
      "license": "CC0-1.0",
      "devDependencies": {
        "@types/file-saver": "0.0.1",
        "electron": "1.7",
        "electron-rebuild": "^1.6.0"
      },
      "dependencies": {
        "sqlite3": "^3.1.13"
      }
    }

    2: installare python 2.7 e aggiungere il suo percorso alla variabile ambientale e.g C:\Python27;

    3: npm INSTALL e poi
    npm eseguire la ricostruzione

    • +1 per (“ricostruire”: “electron-ricostruzione -f -w sqlite3”), è stato risolto il problema per me dopo aver eseguito il comando “npm eseguire la ricostruzione” nel terminale
  4. 2

    Avete appena installato il sqlite3 modulo, ma è necessario ricostruire l’esecuzione su una piattaforma specifica. Avrete bisogno di electron-rebuild pacchetto per ricostruire il binario.

    Comando esegui npm i --save-dev electron-rebuild dalla cartella del progetto.Dopo l’Installazione del electron-rebuild. Ru il comando seguente per creare sqlite3 binario per la tua piattaforma.

    ./node_modules/.bin/electron-rebuild -w sqlite3 -p

    Se la ricostruzione non riesce, eseguire npm install e quindi eseguire il sopra-comando dato, ancora una volta.

    • questo non funziona per me. Mi dice ‘.’ non è riconosciuto come comando interno o esterno, un programma eseguibile o un file batch.
    • andare a /node_modules/.bin/ e aprire il terminale c’. esegue il comando “elettrone-ricostruzione -w sqlite3 -p”
    • Beh, inizialmente non è riuscito perchè non ho la versione di python 2.7, dopo ho installato la 2.7 ho ottenuto questo errore pastebin.com/xmhsG85A
    • Devi installare windows costruire strumenti, vc++ e python prima di iniziare a costruire il sqlite3 modulo. Scaricare e installare VC++ 2015.3 v140 set di strumenti (x86,x64)
    • Ha preso un po ‘per scaricare gli strumenti di compilazione, ma poi l’ho ri-eseguito il cmd e ha funzionato 😀 già provato un po’ di SQLite caratteristiche e tutto sembra funzionare. TYSM! Appena mi rinunciato a usare SQLite in elettrone causa nient’altro ha funzionato!
    • se si utilizza sqlite3 con elettroni, ti suggerisco di usare knexjs.org Knex Modulo. Ho buit 3 applicazione su di esso ed è troppo facile per mantenere il database con esso.

  5. 0

    Nel mio caso, il problema è stato risolto. Ha funzionato dopo la generazione non è riuscita più volte, Il problema era solo con un pc windows. Quando ho provato con il mac, ha funzionato al primo, senza bisogno di alcuna ulteriore installazione processo.

    npm install electron-rebuild
    ./node_modules/.bin/electron-rebuild -w sqlite3 -p

Lascia un commento