Я очень запутался. Этот код работает на компьютере моего соавтора, но не на моем. У нас одно и то же рабочее пространство Heroku. Я буквально просто скопировал его последний pu sh.
const express = require("express");
const path = require("path");
var parser = require("body-parser");
// heroku has an environment variable
// that determines port
const PORT = process.env.PORT || 5000;
// pool controls connections to the postgres db
const { Pool } = require("pg");
const { SSL_OP_SSLEAY_080_CLIENT_DH_BUG } = require("constants");
const pool = new Pool({
connectionString:
"postgres://{heroku pg database URL}",
ssl: {
rejectUnauthorized: false,
},
});
app = express();
app.get("/", (req, res) => {
res.status(200);
res.send('Hello World');
});
app.listen(PORT, () => {
console.log(
"Server running at https://rateyourgames.heroku.com/ using port" + PORT
);
console.log(process.DATABASE_URL);
});
Это дает мне эту ошибку:
C:\Users\matth\Full-Stack-Project\src\test.js:10
const pool = new Pool({
^
TypeError: Pool is not a constructor
at Object.<anonymous> (C:\Users\matth\Full-Stack-Project\src\test.js:10:14)
at Module._compile (internal/modules/cjs/loader.js:1201:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1221:10)
at Module.load (internal/modules/cjs/loader.js:1050:32)
at Function.Module._load (internal/modules/cjs/loader.js:938:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
Обновление: я обнаружил, что моя версия pg не соответствует зависимости мой pg - версия 6.14.5, а зависимость - "^8.3.0"
. Я пробовал запустить npm i -g pg@8.3.0
, но даже несмотря на то, что консоль сообщает, что пакет обновлен, он все равно говорит, что у меня версия 6.14.5.