Bookshelf.js 书架和knex初始化错误

Bookshelf.js 书架和knex初始化错误,bookshelf.js,knex.js,Bookshelf.js,Knex.js,我正在尝试使用bookshelf和knex在NodeJS中建立mysql连接。这是我的设置: var knex = require('knex')({ client: 'mysql', connection: { host : '127.0.0.1', user : 'my_user', password : 'my_password', database : 'my_db', charset : 'utf8' } }); var

我正在尝试使用bookshelf和knex在NodeJS中建立mysql连接。这是我的设置:

var knex = require('knex')({
client: 'mysql',
  connection: {
    host     : '127.0.0.1',
    user     : 'my_user',
    password : 'my_password',
    database : 'my_db',
    charset  : 'utf8'
  }
});
var DB = require('bookshelf')(knex);
module.exports.DB = DB;
我得到以下错误:

Error: [object KnexClient] is not a valid Knex client, did you misspell it?
    at new Knex (/Users/arenduchintala/Projects/MacaronicWebApp/node_modules/bookshelf/node_modules/knex/knex.js:48:17)
    at new Bookshelf (/Users/arenduchintala/Projects/MacaronicWebApp/node_modules/bookshelf/bookshelf.js:43:14)
    at Bookshelf (/Users/arenduchintala/Projects/MacaronicWebApp/node_modules/bookshelf/bookshelf.js:37:14)
    at Object.<anonymous> (/Users/arenduchintala/Projects/MacaronicWebApp/db.js:11:37)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/arenduchintala/Projects/MacaronicWebApp/model.js:1:72)
    at Module._compile (module.js:434:26)
    at Object.Module._extensions..js (module.js:452:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
错误:[object KnexClient]不是有效的Knex客户端,是否拼写错误?
在新的Knex(/Users/arenduchintala/Projects/MacaronicWebApp/node_modules/bookshelf/node_modules/Knex/Knex.js:48:17)
在新书架上(/Users/arenduchintala/Projects/MacaronicWebApp/node_modules/Bookshelf/Bookshelf.js:43:14)
在书架上(/Users/arenduchintala/Projects/MacaronicWebApp/node_modules/Bookshelf/Bookshelf.js:37:14)
反对。(/Users/arenduchintala/Projects/MacaronicWebApp/db.js:11:37)
在模块处编译(Module.js:434:26)
在Object.Module.\u extensions..js(Module.js:452:10)
在Module.load(Module.js:355:32)
在Function.Module.\u加载(Module.js:310:12)
at Module.require(Module.js:365:17)
根据需要(module.js:384:17)
反对。(/Users/arenduchintala/Projects/MacaronicWebApp/model.js:1:72)
在模块处编译(Module.js:434:26)
在Object.Module.\u extensions..js(Module.js:452:10)
在Module.load(Module.js:355:32)
在Function.Module.\u加载(Module.js:310:12)
at Module.require(Module.js:365:17)
根据需要(module.js:384:17)

看起来像这样的行:
require('bookshelf')(knex)
抛出了一个错误。

我有一个旧版本的bookshelf,我在
包中更改了它。json
来自:
“书架”:“0.5”
“书架”:“*”
,现在似乎可以运行了。

运行
npmi--s mysql
它需要这个包