You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装express-openid-connect遇TypeScript错误,寻求技术协助

解决express-openid-connect安装后TypeScript构建错误

核心问题分析

这三个错误本质是依赖版本不兼容:

  • 错误1:openid-client的类型声明与实际安装版本不匹配
  • 错误2、3:express-openid-connect依赖的jose版本与项目中实际安装的jose版本导出结构不一致

分步解决方案

1. 清理并重新安装匹配的依赖

先彻底清理现有依赖,避免版本缓存冲突:

# 删除node_modules和锁文件
rm -rf node_modules package-lock.json

然后安装指定稳定版本的express-openid-connect(推荐2.17.1版本,该版本依赖链经过验证,不会出现jose导出问题):

npm install express-openid-connect@2.17.1

2. 安装对应版本的openid-client类型声明

先查看自动安装的openid-client版本:

npm list openid-client

比如输出为openid-client@5.5.0,则安装同版本的类型声明:

npm install @types/openid-client@5.5.0 --save-dev

注意:必须保证@types/openid-client版本与实际安装的openid-client版本完全匹配,否则仍会出现类型错误。

3. 修正TypeScript配置

检查你的tsconfig.json,确保以下关键配置正确:

{
  "compilerOptions": {
    "typeRoots": ["./node_modules/@types"], // 确保TypeScript能找到@types目录下的类型声明
    "moduleResolution": "node", // 使用Node.js的模块解析规则
    "esModuleInterop": true, // 处理CommonJS模块的导入兼容性
    "skipLibCheck": false // 不跳过库的类型检查(若临时绕过可设为true,但不推荐)
  }
}

4. 清理自定义类型声明

如果你之前创建过declare module 'openid-client';的.d.ts文件,立即删除,这个自定义声明会和官方@types/openid-client冲突。

验证解决方案

执行构建命令确认错误消除:

npm run build

内容的提问来源于stack exchange,提问作者Antonio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 03:27:23