无法启动TypeORM项目

时间:2020-05-13 16:12:40

标签: npm typeorm

根据TypeORM文档,我正在尝试创建一个新的TypeORM项目并运行以下命令:

npm install typeorm -g

typeorm init --name MyProject --database postgres

我收到此错误:

TypeError: Cannot set property EntityManager of #<Object> which has only a getter
at Object.<anonymous> (~/.npm-global/lib/node_modules/typeorm/index.js:120:23)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (~/.npm-global/lib/node_modules/typeorm/commands/SchemaSyncCommand.js:4:15)
at Module._compile (internal/modules/cjs/loader.js:778:30)

即使我只是尝试运行

,我也会遇到相同的错误
typeorm

4 个答案:

答案 0 :(得分:7)

添加

"resolutions": { 
    "tslib": "1.11.2"
}

对于您的包json,tslib 1.12破坏了typeorm

答案 1 :(得分:3)

对我有用的解决方法是:

npm i tslib@1.11.2 --save并删除我项目的package.json中的^之前的版本。

可以找到未解决的问题here

答案 2 :(得分:0)

好吧,TypeORM使用的依赖项之一显然存在问题。依赖性tslib 1.12.0显然破坏了TypeORM。如果已全局安装TypeORM,请转到安装文件夹(默认位置可能是/ usr / local / lib / node_modules / typeorm)并编辑package.json文件。将tslib的版本更改为“ 1.11.2”。然后运行npm update更新依赖关系。

答案 3 :(得分:0)

就我而言,我也遇到了同样的问题,并使用我的凭据在项目的根目录下创建了一个名为ormconfig.json的文件。

{
  "type": "postgres",
  "host": "localhost",
  "port": 5432,
  "username": "postgres",
  "password": "pass",
  "database": "database_name"
}

之后,问题不再存在。

在尝试过user840250的解决方案之前。它可以解决原始问题,但又创建了另一个问题:UnhandledPromiseRejectionWarning: Error: No connection options were found in any of configurations file