GitLab下载的Angular项目运行ng serve -o报TS2459错误如何解决
报错原因
该TS2459报错属于第三方依赖版本不兼容问题,和后端接口、业务代码无关:
- 项目中使用的
ngx-editor在自身类型定义文件中,尝试从prosemirror-commands包导入Command类型,但本地安装的prosemirror-commands版本并未对外导出该类型。Command类型实际是prosemirror-commands从prosemirror-state包内部导入自用的,没有暴露给外部调用方。 - 触发原因通常是项目未锁定依赖版本,npm安装时拉取了不符合
ngx-editor版本要求的prosemirror系列依赖,或是多依赖版本提升时出现了版本冲突。
修复方案
按优先级从高到低选择以下方案即可:
方案1:固定兼容版本的prosemirror依赖
在项目根目录执行命令,安装经过验证的兼容版本依赖:
npm install prosemirror-commands@1.5.0 prosemirror-state@1.4.3 --save-exact
执行完成后删除项目下的node_modules目录和package-lock.json文件,重新执行npm install,再运行ng serve -o验证即可。
方案2:跳过第三方库类型检查(快速调试用)
如果需要快速启动项目调试,不需要纠结第三方依赖的类型问题,可以直接修改项目根目录的tsconfig.json,在compilerOptions中添加配置:
{ "compilerOptions": { // 保留原有其他配置 "skipLibCheck": true } }
该配置只会跳过node_modules下第三方包的类型定义校验,不会影响自身业务代码的TS类型检查,保存后重新启动项目即可正常运行。
方案3:重装版本匹配的ngx-editor
如果前两个方案无效,说明当前安装的ngx-editor版本和Angular 13环境不匹配,执行以下命令重装对应大版本:
npm uninstall ngx-editor prosemirror-commands prosemirror-state npm install ngx-editor@12.0.0 --save
注意:ngx-editor的大版本和Angular大版本严格对应,Angular 13适配ngx-editor 12.x版本,不要跨大版本安装。
重装完成后重新执行依赖安装、启动命令即可。
内容的提问来源于stack exchange,提问作者Gurasan
相关产品推荐
相关产品推荐

