bookshelf 和 knex 初始化错误

bookshelf and knex initialization error

我正在尝试使用 bookshelf 和 knex 在节点 js 中设置 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)

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

我有一个旧版本的书架,我在 package.json 中将其更改为: "bookshelf" : "0.5""bookshelf" : "*" 现在似乎可以使用了。

运行 npm i --s mysql 它需要这个包