nodejs cannot find module 'mysql' 问题分析
在windows平台下,测试nodejs连接mysql数据库。
首先 在控制台中安装mysql依赖包 npm install mysql
安装成功后,mysql依赖包可以在User目录中的node_modules文件夹中找到
然后新建一个测试mysql连接的js文件mysqltest.js
var mysql = require('mysql'); var connect = mysql.createConnection({ host:'localhost', user:'root', password:'', database:'test', port:3306 }); connect.connect(); console.log("mysql has connnected"); connect.end(); console.log("mysql has colsed");
如果mysqltest.js文件不在User目录中,把mysqltest.js放到E盘的NodeJS文件夹中,运行node mysqltest.js就会报cannot find module 'mysql'错误
这是因为node是在E:\NodeJS目录下执行mysql.js的,而在NodeJS目录下,node无法找到mysql模块,所以才会报此错误。
解决办法:
可以把mysqltest.js文件放到User目录中,然后再node mysqltest.js;
也可以在NodeJS目录安装mysql依赖包,然后再node mysqltest.js;
在NodeJS目录中安装依赖包的方式有两种:
1.直接控制台进入NodeJS目录,然后npm install mysql
2.在NodeJS目录中创建一个package.json文件,把mysql依赖加进去,然后在NodeJS目录中执行npm install
{ "name": "mysqltest", "description": "test project", "version": "0.0.1", "private": true, "devDependencies":{ "mysql":"2.6.2" } }
如果需要添加多个依赖包,用第二种方式较为方便