TypeError: rxjs_1.lastValueFrom is not a function
TypeError: rxjs_1.lastValueFrom is not a function
我正在使用 nestjs 构建一个 api。添加 typeorm 和 pg 依赖项并在 app.module.ts
中添加 TypeOrmModule.forRoot({})
代码后,如下所示。
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { CoffeesModule } from './coffees/coffees.module';
@Module({
imports: [CoffeesModule, TypeOrmModule.forRoot({
type: 'postgres',
host: 'localhost',
port: 5432,
username: 'postgres',
password: 'xxx',
database: 'postgres',
autoLoadEntities: true,
synchronize: true
})],
controllers: [AppController],
providers: [AppService],
})
export class AppModule { }
我收到一个错误 TypeError: rxjs_1.lastValueFrom is not a function
,但当我排除 TypeOrmModule.forRoot({})
时没有错误。
错误的可能原因是什么?
如果您使用的是 Nest v8,则使用 RxJS 版本 7,它不再具有 Observables 的 toPromise()
方法,因此 Nest 改用 lastValueFrom
方法。如果您收到此错误,您可能需要将 rxjs
依赖项更新为 >7.
npm i rxjs@^7
yarn add rxjs@^7
pnpm i rxjs @^7
选择你喜欢的包管理器并尝试一下。
上次更新NestJS时,使用cli初始化项目时抛出此错误。
update "@nestjs/typeorm": "^7.1.5" in package.json 并输入 npm i 并重启服务器
真正的答案
问题是与 nest 版本冲突.. 看到这个的任何人 - 只要确保你所有的 nestJs 包都是版本 7 或 8 - 不要混淆它们。特别是那些:
- @nestjs/common
- @nestjs/core
- @nestjs/typeorm
从这里开始:https://github.com/nestjs/nest/issues/7468#issuecomment-876174870
我正在使用 nestjs 构建一个 api。添加 typeorm 和 pg 依赖项并在 app.module.ts
中添加 TypeOrmModule.forRoot({})
代码后,如下所示。
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { CoffeesModule } from './coffees/coffees.module';
@Module({
imports: [CoffeesModule, TypeOrmModule.forRoot({
type: 'postgres',
host: 'localhost',
port: 5432,
username: 'postgres',
password: 'xxx',
database: 'postgres',
autoLoadEntities: true,
synchronize: true
})],
controllers: [AppController],
providers: [AppService],
})
export class AppModule { }
我收到一个错误 TypeError: rxjs_1.lastValueFrom is not a function
,但当我排除 TypeOrmModule.forRoot({})
时没有错误。
错误的可能原因是什么?
如果您使用的是 Nest v8,则使用 RxJS 版本 7,它不再具有 Observables 的 toPromise()
方法,因此 Nest 改用 lastValueFrom
方法。如果您收到此错误,您可能需要将 rxjs
依赖项更新为 >7.
npm i rxjs@^7
yarn add rxjs@^7
pnpm i rxjs @^7
选择你喜欢的包管理器并尝试一下。
上次更新NestJS时,使用cli初始化项目时抛出此错误。
update "@nestjs/typeorm": "^7.1.5" in package.json 并输入 npm i 并重启服务器
真正的答案
问题是与 nest 版本冲突.. 看到这个的任何人 - 只要确保你所有的 nestJs 包都是版本 7 或 8 - 不要混淆它们。特别是那些:
- @nestjs/common
- @nestjs/core
- @nestjs/typeorm
从这里开始:https://github.com/nestjs/nest/issues/7468#issuecomment-876174870