在github 上看到是因为版本问题,于是我把连接数据库的代码改为了 var mysql = require(‘mysql’); var connection = mysql.createConnection({ host : ‘127.0.0.1’, database: ‘test’, port: ‘3306’, user : ‘root’, password : ‘658803’, });
connection.connect();
依然报这个错误,请问谁能帮我解答
mysql模块是在当前目录下的node_modules的目录下吗
在C:\Program Files\nodejs\node_modules\npm\lib 这个目录中找不到mysql这个模块,其实我对node.js的包机制不太熟悉,我在上面那个目录也没有找到http这个核心模块,你能提供我一些思路吗
http是核心模块,封装到安装包里面了,如果在你项目的当前目录下<code>npm install mysql<code>的话就会在你当前目录下的node_modules文件夹下有mysql包
如果你<code>npm install -g xxx<code>的话,windows下xxx包会出现在<code>C:\Users\Showen\AppData\Roaming\npm<code>这个目录下
linux下的话会出现在/usr/local/lib/node_modules目录下,你应该是没有在你项目的当前目录下执行<code>npm install mysql<code>吧
node查找包的规则是先看看该包是不是核心包,如果不是就去查找当前目录下的node_modules文件夹里面有没有该包,如果还没有就会跳到上一个目录去查找
就是…/node_modules目录如果还是没找到就会一直往前一个目录跳,直到跳到“/”目录下,还没有的话就会报找不到包,这是linux下的查找,windows下也一样。
楼上正解。
或者可以npm ls
看看
话说我的字怎么也变红了。。