Sequelize错误 – lodash没有方法“模板”

我刚刚通过npm安装了Sequelize和MySQL模块,并且遇到了一个错误。

我可以成功查询我的模型,但试图创build一个新的模型实例导致query-generator.js文件中的错误。

我的代码:

var Sequelize = require('sequelize') , sequelize = new Sequelize('databasename', 'username', 'password'); var User = sequelize.define('users', { email: Sequelize.STRING, fname: Sequelize.STRING, lname: Sequelize.STRING, }); // WORKS User.find(1) .success(function(user) { console.log('User found'); }). error(function(err) { console.log('Error locating user', err); }); // FAILS User.create({ email : 'test@example.com', fname : 'John', lname : 'Doe' }) .success(function(user) { // Do something }) .error(function(err) { // Do something }); 

这是错误

 ~/Project/node_modules/sequelize/lib/dialects/abstract/query-generator.js:156 return Utils._.template(query)(replacements) ^ TypeError: Object function lodash(value) { // don't wrap if already wrapped, even if wrapped by a different `lodash` constructor return (value && typeof value == 'object' && !isArray(value) && hasOwnProperty.call(value, '__wrapped__')) ? value : new lodashWrapper(value); } has no method 'template' at Object.module.exports.QueryGenerator.insertQuery (~/Project/node_modules/sequelize/lib/dialects/abstract/query-generator.js:156:22) 

所以事实certificate,我的本地版本的NPM获取Emmet特定的lodash版本。 运行

 npm install lodash 

取得这个回购https://github.com/emmetio/lodash而不是https://github.com/lodash/lodash

运行

 npm install lodash --force 

并重新安装Sequelize纠正了我的问题。