Angular项目引入@qdrant/js-client-rest后编译报错求助
Angular项目安装@qdrant/js-client-rest后编译报错的解决方案
问题描述
在Angular项目中安装@qdrant/js-client-rest依赖后,编译时触发以下TypeScript语法错误:
Error: node_modules/@qdrant/js-client-rest/dist/types/api-client.d.ts:4:51 - error TS1005: '>' expected. 4 export type Client = ReturnType<typeof Fetcher.for>; ~ Error: node_modules/@qdrant/js-client-rest/dist/types/api-client.d.ts:4:58 - error TS1109: Expression expected. 4 export type Client = ReturnType<typeof Fetcher.for>; ~ Error: node_modules/@qdrant/js-client-rest/dist/types/api-client.d.ts:4:59 - error TS1109: Expression expected. 4 export type Client = ReturnType<typeof Fetcher.for>;
错误原因
该错误源于TypeScript版本不兼容:代码中ReturnType<typeof Fetcher.for>的写法使用了TypeScript 4.7及以上版本才支持的方法引用类型查询特性,如果你的Angular项目所依赖的TypeScript版本低于4.7,就会触发语法解析错误。
解决方法
方法1:升级TypeScript版本
- 查看当前项目的TypeScript版本:
ng version # 或 npm list typescript - 升级到兼容的TypeScript版本(需匹配Angular版本的TS要求,比如Angular 14对应TS 4.6-4.8,Angular 15对应TS 4.8-5.0):
npm install typescript@^4.7 --save-dev - 验证版本是否生效,重新执行编译:
ng build
方法2:降级@qdrant/js-client-rest版本
如果无法升级TypeScript,可以选择安装不依赖高版本TS语法的旧版客户端,例如:
npm install @qdrant/js-client-rest@1.7.0 --save
可根据自身TS版本,选择适配的客户端版本(优先选择带有完整功能且兼容当前TS的版本)。
内容的提问来源于stack exchange,提问作者Marcin Żmigrodzki
相关产品推荐
相关产品推荐

