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纠正了我的问题。