web-dev-qa-db-de.com

Modul `mysql` node.js kann nicht gefunden werden

ich bin ein Neuling bei Nodejs. Um MySQL zu verbinden, habe ich mysql mit dem Befehl auf dem Knoten installiert.

npm install mysql

Ich habe während der Installation keine Fehlermeldung erhalten. Dann habe ich versucht, den folgenden Code auszuführen,

var mysql = require("mysql");

Es zeigt jedoch den folgenden Fehler, während ich versuche, das auszuführen. 

C:\node\mysql>node app.js

module.js:340
    throw err;
          ^
Error: Cannot find module 'mysql'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\node\mysql\app.js:1:75)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

Ich habe einen Vorschlag ausprobiert, wie zum Beispiel mysql global zu installieren.

npm install -g mysql

Aber nichts geht. Hilfe bitte!!!

Bitte beachten Sie mein Arbeitsumfeld,

Betriebssystem: Windows7 Knotenversion: 0.10.15 NPM-Version: 1.3.5

18
Stranger

Ich hatte gerade das gleiche Problem und fand heraus, dass das Modul installiert wurde:

./node_modules/node-mysql/node_modules/

Also habe ich sie alle bewegt:

mv ./node_modules/node-mysql/node_modules/* ./node_modules/

16

Meine node ist in C:\some-dir\nodejs-0.10.35\ installiert.

Navigieren Sie zuerst zu demselben Verzeichnis, node installiert: cd C:\some-dir\nodejs-0.10.35

Dann npm install mysql

Ich habe meine Bewerbungen im selben Verzeichnis abgelegt: C:\some-dir\nodejs-0.10.35\applications\demo.js

Es klappt.

7
coderz

Sie können dies mit beheben 

ln -s /usr/local/lib/node_modules /YOURPROJECTFOLDER/node_modules
7

Es sieht so aus, als könnten Sie verwirrt sein, wie npm install funktioniert.

npm install -g mysql wird global nicht lokal installiert, wie Sie vorschlagen.

npm install mysql wird lokal installiert, wodurch das Modul in ./node_modules/mysql gestellt wird. Das bedeutet, dass das Skript, das Sie ausführen, in demselben Verzeichnis ausgeführt werden muss, das node_modules enthält.

4

Ich hatte das gleiche Problem (vorausgesetzt ich bin unter Windows 8). Ich habe versucht npm install mysql und npm install -g mysql und funktionierte nicht.

Es stellte sich heraus, dass ich die Anwendung "Node.js-Eingabeaufforderung" anstelle der regulären Eingabeaufforderungs-App öffnen musste. Alles hat super geklappt.

Ich weiß nicht, was ihr Befehl Prompt unter der Haube tut, aber ich würde annehmen, dass es etwas mit Pfad- und Umgebungsvariablen zu tun hat. Vielleicht möchten Sie es einmal ausprobieren.

2
joelc

Möglicherweise müssen Sie die package.json-Datei aktualisieren. Verwenden Sie den folgenden Befehl

npm install mysql --save
2
abhishek bv

Ich habe festgestellt, dass dies passiert, wenn Sie .__ ausführen. npm install ohne dass Abhängigkeiten in package.json definiert sind ...

...
"author": "Author",
"dependencies" : {
     "mysql": "2.12.0",    
},
"license": "ISC"
...

Definieren Sie die Dependecies .. und führen Sie sie aus

npm install
0
jwood

Ich habe den gleichen Fehler, läuft einfach 

npm install

wird das Problem beheben. Aus irgendeinem Grund wurde das MySQL-Paket beschädigt, gelöscht oder fehlt. 

0
hoogw

Diese Lösung von Coderz hat gut funktioniert.

Mein Knoten ist in C:\some-dir\nodejs-0.10.35\installiert.

Navigieren Sie zuerst zu demselben Verzeichnis, in dem der Knoten installiert ist: cd C:\some-dir\nodejs-0.10.35

Dann npm install mysql

Ich habe meine Anwendungen im selben Verzeichnis abgelegt: C:\some-dir\nodejs-0.10.35\applications\demo.js

Vielen Dank.

0
Varun Nair

Mir ist aufgefallen, dass am npm install -g mysql mysql2 in node_modules gespeichert wurde. Gerade geändert 

require('mysql')

zu 

require('mysql2')

und es hat funktioniert.

0
Salman lodi

Navigieren Sie zum Ordner /node_modules, der sich im Hauptverzeichnis befindet, und installieren Sie mysql mit dem folgenden Befehl: Sudo npm install mysql

Dadurch wird ein Ordner mit dem Namen mysql im Ordner /node_modules erstellt.

Führen Sie nun Ihre App mit dem Befehl node app.js im Hauptordner aus. Es soll funktionieren und die Verbindung zum mysal Server herstellen.

0
harshvardhan

npm install mysql --save

Dadurch wird Ihre package.json-Datei aktualisiert.

0
user991802

Ich stand vor demselben Problem. Hier ist wie es gelöst wurde. 

  1. Zuerst wurde ein Projekt erstellt (Users/home/proj)

  2. Gehen Sie zum Ordner "Proj". 

  3. Führen Sie npm init aus (dadurch wird packaje.json erstellt). 
  4. Ausführen (npm install mysql) 
  5. Überprüfen Sie im proj-Ordner. Sie sollten den Ordner node_modules sehen, die Knoten_modules erweitern und den Ordner mysql sehen. 
  6. Führen Sie Ihre app.js aus 
0
Atul Kumar

Das hat bei mir funktioniert

  • gehen Sie zu Ihrem Projektordner
  • führen Sie den folgenden Befehl aus: npm install mysql
0
Arjon Arts