Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.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
Node.js typeorm createConnection返回挂起,即使在带有PG的MacOS上使用wait_Node.js_Postgresql_Typescript_Macos_Typeorm - Fatal编程技术网

Node.js typeorm createConnection返回挂起,即使在带有PG的MacOS上使用wait

Node.js typeorm createConnection返回挂起,即使在带有PG的MacOS上使用wait,node.js,postgresql,typescript,macos,typeorm,Node.js,Postgresql,Typescript,Macos,Typeorm,MacOS Catalina 10.15.4 如何复制,只需使用快速指南进行安装 npm install typeorm --save npm install reflect-metadata --save npm install @types/node --save npm install pg --save npm install typeorm -g typeorm init --name MyProject --database postgres cd MyProject npm ins

MacOS Catalina 10.15.4

如何复制,只需使用快速指南进行安装

npm install typeorm --save
npm install reflect-metadata --save
npm install @types/node --save
npm install pg --save
npm install typeorm -g
typeorm init --name MyProject --database postgres
cd MyProject
npm install
npm start
它只会回来

➜  MyProject npm start

> MyProject@0.0.1 start /Users/sergecolle/work/eve/MyProject
> ts-node src/index.ts
排除故障时,我发现then和catch中的代码都没有执行。在修改代码后,将

const connection:Connection = await createConnection()
连接将处于挂起状态,然后程序简单地跳过然后捕获并终止

我请一位朋友在他的mac电脑上试用,他也遇到了同样的问题

这里有由typeorm安装生成的package.json

   "name": "MyProject",
   "version": "0.0.1",
   "description": "Awesome project developed with TypeORM.",
   "devDependencies": {
      "ts-node": "3.3.0",
      "@types/node": "^8.0.29",
      "typescript": "3.3.3333"
   },
   "dependencies": {
      "typeorm": "0.2.25",
      "reflect-metadata": "^0.1.10",
      "pg": "^7.3.0",
      "express": "^4.15.4",
      "body-parser": "^1.18.1"
   },
   "scripts": {
      "start": "ts-node src/index.ts"
   }
以及ormconfig.json

{
   "type": "postgres",
   "host": "localhost",
   "port": 5432,
   "username": "test",
   "password": "test",
   "database": "test",
   "synchronize": true,
   "logging": false,
   "entities": [
      "src/entity/**/*.ts"
   ],
   "migrations": [
      "src/migration/**/*.ts"
   ],
   "subscribers": [
      "src/subscriber/**/*.ts"
   ],
   "cli": {
      "entitiesDir": "src/entity",
      "migrationsDir": "src/migration",
      "subscribersDir": "src/subscriber"
   }
}
并确保使用psql命令存在具有这些凭据的postgres db

生成的tsconfig.json

{
   "compilerOptions": {
      "lib": [
         "es5",
         "es6"
      ],
      "target": "es5",
      "module": "commonjs",
      "moduleResolution": "node",
      "outDir": "./build",
      "emitDecoratorMetadata": true,
      "experimentalDecorators": true,
      "sourceMap": true
   }
}

lib和target在支持async/await方面似乎有点过时。我尝试将其更新为es2017、es2018和esnext,但没有成功

这似乎是pg(节点postgres)的问题。据我所知,您正在运行版本7.3.0。尝试使用
npm uninstall pg--save
卸载pg,然后使用
npm install pg--save
再次安装。这将安装最新版本(对我来说是8.2.1


附加信息:我有一个项目在Ubuntu上运行良好,然后在我的MacBook上安装了它,在那里我遇到了同样的问题。我还尝试使用带有不同连接选项的ConnectionManager,但它仍然不起作用。唯一有效的是我上面提到的解决方案

在mac mini和macbook pro上有同样的问题,从官方网站获得12.18.0版本的nodejs解决了我的问题。

这似乎是MacOS的问题,而我们能够在mac机器上重现,上面的步骤在Linux上运行得非常好。我也有同样的问题,升级pg版本后,它开始工作了,谢谢