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

执行ng serve编译报错:ng-otp-input与Angular 8版本不兼容

解决方案

问题根源

你遇到的报错是因为ng-otp-input 1.8.1版本依赖了Angular 9+才引入的Ivy内部API(ɵɵFactoryTarget、ɵɵngDeclareClassMetadata等),而你的项目基于Angular 8.2.14,该版本并不包含这些API,导致编译时找不到对应导出项。

解决步骤

  1. 降级ng-otp-input到兼容Angular 8的版本
    ng-otp-input的1.7.x系列明确支持Angular 8,执行以下命令替换当前版本:

    npm uninstall ng-otp-input
    npm install ng-otp-input@1.7.0 --save
    

    (如果1.7.0仍有问题,可尝试1.6.x等更早版本,选择标注支持Angular 8的版本即可)

  2. 清理依赖环境并重新安装
    为避免缓存或依赖残留问题,执行以下操作:

    • 删除本地依赖目录和锁文件:
      # macOS/Linux
      rm -rf node_modules package-lock.json
      # Windows
      rmdir /s /q node_modules && del package-lock.json
      
    • 重新安装所有依赖:
      npm install
      
  3. 验证依赖匹配
    打开package.json,确认:

    • @angular/core版本为8.2.14
    • ng-otp-input版本为你安装的兼容版本(如1.7.0)
  4. 重新启动项目
    执行启动命令:

    ng serve
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 01:31:25