TypeError: rxjs_1.lastValueFrom 不是函数
Posted
技术标签:
【中文标题】TypeError: rxjs_1.lastValueFrom 不是函数【英文标题】:TypeError: rxjs_1.lastValueFrom is not a function 【发布时间】:2021-09-19 20:24:21 【问题描述】:我正在使用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
当我排除 TypeOrmModule.forRoot()
时,我收到错误 TypeError: rxjs_1.lastValueFrom is not a function
,但没有错误。
错误的原因可能是什么?
【问题讨论】:
也许:github.com/nestjs/nest/issues/7468 【参考方案1】:如果您使用的是 Nest v8,则使用 RxJS 版本 7,它不再为 Observables 提供 toPromise()
方法,因此 Nest 改用 lastValueFrom
方法。如果您收到此错误,您可能需要将您的 rxjs
依赖项更新为 >7。
npm i rxjs@^7
yarn add rxjs@^7
pnpm i rxjs @^7
选择你喜欢的包管理器并使用它。
在NestJS的最后一次更新中,当使用cli初始化项目时抛出此错误。
【讨论】:
谢谢杰!很好的解释! 谢谢,这个帮助 这再次提醒了我为什么我喜欢 ***。一个相当神秘的错误消息,但这是几秒钟内的完美答案。谢谢!【参考方案2】:真正的答案
问题是与嵌套版本冲突.. 任何看到这个的人 - 只要确保你所有的 nestJs 包都是版本 7 或 8 - 不要混合它们。尤其是那些:
@nestjs/common @nestjs/core @nestjs/typeorm从这里:https://github.com/nestjs/nest/issues/7468#issuecomment-876174870
【讨论】:
【参考方案3】:更新 package.json 中的 "@nestjs/typeorm": "^7.1.5" 并输入 npm i 并重启服务器
【讨论】:
以上是关于TypeError: rxjs_1.lastValueFrom 不是函数的主要内容,如果未能解决你的问题,请参考以下文章
ionic - RXJS 错误:rxjs_Observable__.Observable.combineLatest 不是函数
带有 rxjs 错误的相关请求:可观察 _isScalar: false, _subscribe: f