运行node-mysql教程时出错

Akh*_*khi 4 node.js node-mysql

我在node-mysql的教程部分运行代码,它给了我错误

var MySQLPool = require("mysql-pool").MySQLPool;
var pool = new MySQLPool({
  poolSize: 4,
  user:     'root',
  password: 'root',
  database: 'test'
});

pool.query("SELECT 'Hello, World!' AS hello", function(err, rows, fields) {
  if(err) throw err;
  console.log(rows[0].hello);
});

for(var i = 0; i < 10; ++i) {
  pool.query("SELECT SLEEP(2), ? AS i", [i], function(err, rows, fields) {
    if(err) throw err;
    console.log("Slept: " + rows[0].i);
  });
}
Run Code Online (Sandbox Code Playgroud)

错误:

/home/comapq/Works/Nodejs/Codes/node_modules/mysql-pool/lib/mysql-pool/pool.js:158 for(Client.prototype中的var key){^ TypeError:无法读取未定义的属性'prototype'新的MySQLPool上的MySQLPool._populate(/home/comapq/Works/Nodejs/Codes/node_modules/mysql-pool/lib/mysql-pool/pool.js:158:23)(/ home/comapq/Works/Nodejs/Codes/node_modules/mysql-pool/lib/mysql-pool/pool.js:44:7)在Object.(/home/comapq/Works/Nodejs/Codes/test-mysql-3.js:2:12)在Module._compile(module.js:449:26)的Object.Module._extensions..js(module.js) :467:10)在Module.load(module.js:356:32)的Function.Module._load(module.js:312:12)处于Module.runMain(module.js:492:10)的process.startup .processNextTick.process._tickCallback(node.js:244:9)

Emi*_*rea 5

经过一番研究后我发现了问题.你可能安装了这样的mysql:

npm install mysql
Run Code Online (Sandbox Code Playgroud)

这抓住了最新的2.0.0-alpha5的mysql包(开发阶段,大部分是未经测试的).你需要安装最新稳定版的mysql:

npm install mysql@0.9.6
Run Code Online (Sandbox Code Playgroud)