web-dev-qa-db-fra.com

Impossible de trouver le module `mysql` node.js

je suis un débutant à nodejs. Pour connecter mysql, j’ai installé mysql sur un noeud en utilisant la commande,

npm install mysql

Je n'ai pas eu d'erreur lors de l'installation. Ensuite, j'ai essayé d'exécuter le code suivant,

var mysql = require("mysql");

Mais il montre l'erreur suivante alors que je tentais de l'exécuter. 

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)

J'ai essayé une suggestion comme installer mysql globalement en utilisant,

npm install -g mysql

Mais rien ne fonctionne. Aidez-moi, s'il vous plaît!!!

S'il vous plaît noter mon environnement de travail,

Système d'exploitation: Windows7 Version du noeud: 0.10.15 Version du NPM: 1.3.5

18
Stranger

Je viens de rencontrer le même problème et j'ai découvert que c'était parce que le module était installé dans:

./node_modules/node-mysql/node_modules/

Alors, je viens de les déplacer tous:

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

16
Bitwise Creative

Ma node est installée dans C:\some-dir\nodejs-0.10.35\

Naviguez d’abord dans le même répertoire node installé: cd C:\some-dir\nodejs-0.10.35

Alors npm install mysql

Je mets mes applications dans le même répertoire: C:\some-dir\nodejs-0.10.35\applications\demo.js

Ça marche.

7
coderz

Vous pouvez résoudre ce problème avec 

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

Il semble que vous sachiez peut-être comment fonctionne npm install.

npm install -g mysql installera globalement pas localement comme vous le suggérez.

npm install mysql sera installé localement, mettant le module dans ./node_modules/mysql. Cela signifie que le script que vous exécutez doit être exécuté à partir du même répertoire contenant node_modules.

4
Morgan ARR Allen

J'avais le même problème (bien sûr, je suis sous Windows 8). J'ai essayé npm install mysql et npm install -g mysql et aucun n'a fonctionné.

Il s'est avéré que je devais ouvrir l'application 'Invite de commandes Node.js' plutôt que l'application de commandes habituelle. Tout a bien fonctionné.

Je ne sais pas ce que leur invite de commande fait sous le capot, mais je suppose que cela a quelque chose à voir avec les variables de cheminement et d'environnement. Vous voudrez peut-être essayer.

2
joelc

Vous devrez peut-être mettre à jour le fichier package.json. Utilisez la commande suivante

npm install mysql --save
2
abhishek bv

J'ai trouvé cela se produit si vous exécutez npm install sans avoir les dépendances définies dans votre package.json ... c'est-à-dire.

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

Définir les dépendances .. puis lancer

npm install
0
jwood

J'ai la même erreur, viens de courir 

npm install

va résoudre le problème. Parfois, pour une raison quelconque, le paquet mysql a été endommagé, ou supprimé, ou manquant, il suffit de lancer ci-dessus pour tout réparer. 

0
hoogw

Cette solution de coderz a bien fonctionné.

Mon noeud est installé dans C:\un-répertoire\nodejs-0.10.35 \

Naviguez d’abord vers le même répertoire où le noeud est installé: cd C:\rép_nom\nodejs-0.10.35

Alors npm install mysql

Je mets mes applications dans le même répertoire: C:\some-dir\nodejs-0.10.35\applications\demo.js

Je vous remercie.

0
Varun Nair

J'ai remarqué que sur npm install -g mysql a sauvé mysql2 dans node_modules. Vient de changer 

require('mysql')

à 

require('mysql2')

et cela a fonctionné.

0
Salman lodi

Accédez au dossier /node_modules qui se trouve dans le répertoire principal et installez mysql en tapant la commande suivante: Sudo npm install mysql

Cela créera un dossier appelé mysql à l'intérieur du dossier /node_modules.

Maintenant, lancez votre application en utilisant la commande node app.js dans le dossier principal. Cela fonctionnera et établira la connexion avec le serveur mysal.

0
harshvardhan

npm installe mysql --save

Cela mettra à jour votre fichier package.json.

0
user991802

J'ai fait face au même problème. Voici comment cela a été résolu. 

  1. D'abord créé un répertoire de projet, par exemple (Utilisateurs/home/proj)

  2. Allez dans le dossier proj. 

  3. Exécutez npm init (cela créera packaje.json). 
  4. Exécuter (npm install mysql) 
  5. Vérifiez dans le dossier proj, vous devriez voir le dossier node_modules, développer node_modules et le dossier mysql 
  6. Lancez votre app.js 
0
Atul Kumar

Cela a fonctionné pour moi

  • allez dans votre dossier de projet
  • exécutez la commande suivante: npm install mysql
0
Arjon Arts