Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot find module `mysql`

Tags:

node.js

I am new to node.js and trying to learn it.
Here, I am trying to access mySQL database in nodejs.
I have install module for this using npm install mysql but I am not getting any folder for mysql in node_modules folder.
but I am not getting any error while installing mysql module from terminal. because of this issue I am not able to use mysql module in program and I am getting error as

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> (/opt/lampp/htdocs/1nodeapp/mysql.js:4:12)
    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)
like image 265
Sachin Avatar asked Jun 28 '26 16:06

Sachin


2 Answers

Often it helps to get a package.json in your directory and install from there. Try creating a file called package.json and filling it with the following content (you'll want this down the line anyway if you are creating a node project you are going to continue working with):

{
  "name": "PROJECT NAME",
  "version": "0.0.1",
  "author": "YOUR NAME",
  "dependencies": {
    "mysql": "2.x.x"
  }
}

Once this is in place, you can just run npm install and should see a node_modules folder created and populated with the mysql source. In the future if you want to add dependencies and have them saved to your package.json automatically, you can just run npm install whatever --save. Quite convenient!

like image 150
Jeff Escalante Avatar answered Jul 01 '26 05:07

Jeff Escalante


When you try to install new module, npm is looking for node_modules directory in current location, and if there is none, it's looking in parent directory, and so on. If node_module is present somewhere there, your module will be installed there. That's probably what happens in your case.

If you want to install mysql module in your present directory, just create empty node_modules directory where you want to install it.

like image 22
Andrei Karpushonak Avatar answered Jul 01 '26 05:07

Andrei Karpushonak



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!