执行前先安装了mysql模块
npm install mysql
执行完后在D:\nodejs\node_modules中生成了一个mysql目录,这个目录里面还有一个npm目录
D:\nodejs就是nodejs安装的目录
test.js文件如下
var mysql = require('mysql'); var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'root', database:'test' }); connection.connect(); //查询 connection.query('select * from `test`', function(err, rows, fields) { if (err) throw err; console.log('查询结果为: ', rows); }); //关闭连接 connection.end();
node test.js之后报错
module.js:327 throw err; ^ Error: Cannot find module 'mysql' at Function.Module._resolveFilename (module.js:325:15) at Function.Module._load (module.js:276:25) at Module.require (module.js:353:17) at require (internal/module.js:12:17) at Object.<anonymous> (E:\nodejs\yy.js:1:75) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10)
按照网上找的资料,将npm按照的mysql放到node_modules目录下不行,windows/system32下也不行,设置了NODE_PATH还是不行(执行报错,是另外一个错误了)
代码如下:
var mysql = require('mysql'); var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'root', database:'test' }); connection.connect(); //查询 connection.query('select * from `test`', function(err, rows, fields) { if (err) throw err; console.log('查询结果为: ', rows); }); //关闭连接 connection.end();
用npminstallmysql-g 试一下
一般较底层的版本变动较少的库,工具类可以安装成全局
业务代码,更新比较频繁的安装到项目目录
回复 @超级呆子:重装安装一下npm,可能你的环境变量已经搞乱了还是不行啊,像http这样的系统模块放在那里,我将mysql的拷贝到系统模块一起可以吗?版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。