模块“typeorm”没有导出成员“DataSource”和“DataSourceOptions”

JN_*_*bie 7 node.js npm typeorm nestjs

我收到错误,Module '"typeorm"' has no exported member 'DataSource'.而.Module '"typeorm"' has no exported member 'DataSourceOptions'.nest build

npm install 之后,我使用nest build命令行命令构建了 Nestjs 应用程序,但出现了这些错误。

typeorm版本是“^0.2.25”,“@nestjs/typeorm”:“^8.0.2”,

无法弄清楚为什么会发生这种情况。

tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "es2019",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./src",
    "incremental": true,
    "typeRoots": ["types", "node_modules/@types"],
    "strict": true,
    "esModuleInterop": true,
    "resolveJsonModule": true,
    "useUnknownInCatchVariables": false
  },
  "exclude": ["node_modules", "scripts", "dist"]
}
Run Code Online (Sandbox Code Playgroud)

ormconfig.ts

const DATABASE_TYPE = process.env.DATABASE_TYPE || 'postgres';
const DATABASE_URL = process.env.DATABASE_URL;

const DATABASE_SSL =
  process.env.DATABASE_SSL !== undefined ? process.env.DATABASE_SSL === 'true' : true;
const DATABASE_SSL_CA = process.env.DATABASE_SSL_CA;

const root = __dirname;

export default {
  type: DATABASE_TYPE,
  url: DATABASE_URL,
  schema: 'qcxapp',
  entities: [`${root}/**/*.entity.{js,ts}`, `${root}/**/*.model.{js,ts}`],
  migrations: [`${root}/database/migrations/*.{js,ts}`],
  synchronize: false,
  cli: {
    migrationsDir: `${root}/database/migrations`,
  },
  seeds: [`${root}/**/*.seed.{js,ts}`],
  factories: [`${root}/**/*.factory.{js,ts}`],
  keepConnectionAlive: true,
  ssl: DATABASE_SSL_CA ? { ca: DATABASE_SSL_CA, rejectUnauthorized: false } : DATABASE_SSL,
};
Run Code Online (Sandbox Code Playgroud)

ks0*_*d4r 6

我通过指定固定包版本修复了此错误:

"@nestjs/typeorm": "8.0.2",
"typeorm": "0.2.45",
Run Code Online (Sandbox Code Playgroud)