TypeError [ERR_INVALID_ARG_TYPE]

时间:2020-09-07 22:11:40

标签: node.js express sequelize-typescript

我正在尝试运行我的应用服务器,并且不断收到以下错误消息

TypeError [ERR_INVALID_ARG_TYPE]: The "key" argument must be of type string or an instance of Buffer, TypedArray, DataView, or KeyObject. Received null

我使用postgres作为我的数据库,下面是我的数据库配置文件的内容

development: {
    database: 'app_dev',
    use_env_variable: 'DATABASE_URL_DEV',
    dialect: 'postgres',
  },
  test: {
    database: 'app_test',
    use_env_variable: 'DATABASE_URL_TEST',
    dialect: 'postgres',
    logging: false,
  }

这里正在使用Sequelize CLI [Node: 12.18.3, CLI: 5.5.1, ORM: 5.21.4]

4 个答案:

答案 0 :(得分:1)

在Heroku中运行Node应用程序时遇到相同的问题。

这是固定的原因:

development: {
    url: 'DATABASE_URL',
    dialect: 'postgres',
    dialectOptions: {
        ssl: {
            require: true,
            rejectUnauthorized: false
        }
    }
}

答案 1 :(得分:0)

根据Postgres的初始配置,您可能需要在配置中添加以下详细信息:*firstusername

答案 2 :(得分:0)

在我的例子中,错误的环境变量实现 + 配置中缺少的键是错误的原因:

  1. 检查您的配置/环境变量的格式。例如,Heroku 字符串变量不适用于额外的 " "
  2. 此外,除了现有的 username 之外,我还必须向 password 添加 sequelize.jsonuse_env_variable: DATABASE_URL 键。

答案 3 :(得分:0)

我遇到了同样的错误。那是因为我传递了未定义的参数。