【问题标题】:throw new Error('SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string'throw new Error('SASL: SCRAM-SERVER-FIRST-MESSAGE: 客户端密码必须是字符串'
【发布时间】:2022-03-31 19:46:03
【问题描述】:

我尝试连接我的数据库来表达,但我在 PostgreSQL 上有这条消息..

 throw new Error('SASL: SCRAM-SERVER-FIRST-MESSAGE: client password must be a string'

如果有人解决了同样的问题;)

【问题讨论】:

标签: node.js postgresql express


【解决方案1】:

当我尝试将本地运行的网站连接到本地运行的数据库时,出现了同样的错误消息。

我能够将我的本地网站连接到我的实时数据库。我的实时网站也可以与我的实时数据库一起正常工作。

但我无法将本地网站(或 Postman)连接到本地数据库。

但是,我刚刚得到朋友的帮助来解决这个问题。我将此行添加到我的 pool.js 文件的顶部:

import dotenv from 'dotenv/config';

问题在于它没有从 pool.js 文件中访问环境变量。虽然,我的朋友说更好的解决方案是将“dotenv/config”添加到 package.json 文件中的脚本中,但他不确定正确的语法是什么,所以我将尝试接下来就知道了。

【讨论】:

    【解决方案2】:

    你在安装 Postgresql 时是否设置了 Postgres 用户的密码?因为我遇到了同样的问题,我通过在安装 Postgres 时执行这个愚蠢但显然很重要的步骤来解决它。 运行 shell,然后使用命令 \password。

    然后应该把这个相同的密码放在你用来通过 express 连接数据库的代码中。

    【讨论】:

      【解决方案3】:

      语法是

      nodemon -r dotenv/config src/server.js
      

      【讨论】:

        猜你喜欢
        • 2021-12-20
        • 2022-01-27
        • 2019-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        • 2020-08-03
        相关资源
        最近更新 更多