2015-10-30 3 views
2

Я пытаюсь установить соединение mysql в узле js, используя книжную полку и knex. Это моя установка:Ошибка инициализации книжной полки и knex

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) выдает ошибку.

ответ

1

У меня была старая версия книжной полке, я изменил его в package.json от: "bookshelf" : "0.5" к "bookshelf" : "*" и, кажется, работает в настоящее время.