执行了‘“npm install mysql”后还是报cannot find module 'mysql'错误
发布于 11 年前 作者 lingengbin 29169 次浏览 最后一次编辑是 8 年前

在github 上看到是因为版本问题,于是我把连接数据库的代码改为了 var mysql = require(‘mysql’); var connection = mysql.createConnection({ host : ‘127.0.0.1’, database: ‘test’, port: ‘3306’, user : ‘root’, password : ‘658803’, });

connection.connect();

依然报这个错误,请问谁能帮我解答

5 回复

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 看看

话说我的字怎么也变红了。。

回到顶部