Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Sequelize错误-lodash没有方法”;模板";_Mysql_Node.js_Sequelize.js - Fatal编程技术网

Mysql Sequelize错误-lodash没有方法”;模板";

Mysql Sequelize错误-lodash没有方法”;模板";,mysql,node.js,sequelize.js,Mysql,Node.js,Sequelize.js,我刚刚通过npm安装了Sequelize和MySQL模块,遇到了一个错误 我可以成功查询我的模型,但尝试创建新模型实例会导致query-generator.js文件中出现错误 我的代码: var Sequelize = require('sequelize') , sequelize = new Sequelize('databasename', 'username', 'password'); var User = sequelize.define('users', { email:

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

我可以成功查询我的模型,但尝试创建新模型实例会导致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)

因此,我的本地版本的npm获取的是埃米特特定的洛达斯版本。运行

npm install lodash
取回了这份回购协议,而不是

运行

npm install lodash --force

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

?我知道lodash有一个模板方法。但问题是,为什么Sequelize软件包会给我这个错误?我找不到任何其他记录在案的案例。你正在使用mysql,对吗?你也安装了mysql软件包吗?啊,你安装了。您使用的是哪个版本的sequelize和mysql?有趣的是,我打开了sequelize附带的lodash节点模块,描述为“Lo dash lib的私有版本,没有绕过CSP限制的template()方法”