安装Sequelize时出错

时间:2013-12-13 23:34:53

标签: javascript amazon-ec2 sequelize.js

我尝试在亚马逊的ec2上安装sequelize.js。我只是将整个示例复制并粘贴到此页面的全新应用程序中。 http://sequelizejs.com/articles/express

我怀疑sequelize.js与数据库存在连接问题。但我不知道。有人会有任何想法吗?

我确实安装了mysql并创建了sequelize_test数据库。

$ echo "CREATE DATABASE sequelize_test;" | mysql -uroot
$sudo netstat -tap | grep mysql
tcp        0      0 localhost:mysql         *:*                     LISTEN      21836/mysqld

这是我在运行节点app.js

时得到的
/home/ubuntu/samplePg/node_modules/sequelize/lib/sequelize.js:274
      this.importCache[path] = defineCall(this, DataTypes)
                               ^
TypeError: object is not a function
    at module.exports.Sequelize.import (/home/ubuntu/samplePg/node_modules/sequelize/lib/sequelize.js:274:32)
    at /home/ubuntu/samplePg/models/index.js:14:33
    at Array.forEach (native)
    at Object.<anonymous> (/home/ubuntu/samplePg/models/index.js:13:4)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)

package.json文件:

{
  "name": "application-name",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "3.4.4",
    "jade": "*",
    "pg": "~2.8.4",
    "sequelize": "~2.0.0-beta.2",
    "lodash": "~2.4.1",
    "mysql": "~2.0.0-rc2"
  }
}

我不知道出了什么问题。希望有人能对此有所了解。 谢谢!

1 个答案:

答案 0 :(得分:2)

再过3个小时......终于找到了原因!! ...因为我正在使用emacs。生成带有〜结尾的备份文件 所以除了普通文件之外还有index.js~task.js~和user.js~。

models / index.js解析普通文件AS和备份文件一样 (其中有一个附加在文件名末尾的波浪形)

在目录

的根目录下运行命令
find -name "*~" | xargs rm

和中提琴!我回来了= =

还在.filter条件中添加了此代码,因此我不必担心再次清除这些备份文件...

((file.slice(-1) !== "~") && (file.indexOf('#') !== 0))