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

Angular项目用Yarn运行移动端版本时@types/lodash-es报错求助

问题分析

当前环境存在核心版本兼容矛盾:

  • Angular CLI 13.0.2 与项目依赖的 Angular ~11.0.3 版本跨度较大,CLI版本远高于项目框架版本,会引发依赖解析、类型定义兼容问题
  • TypeScript ~4.0.2 与高版本 @types/lodash-es(4.17.x)的类型定义语法不兼容,TS4.0.2 不支持部分高版本类型文件里的语法,从而抛出TS1110(意外标记)、TS1005(缺少预期符号)这类错误
解决步骤

1. 统一Angular CLI与项目Angular版本

Angular CLI版本必须和项目核心Angular包版本保持一致,否则会出现各类依赖冲突:

  • 卸载当前全局Angular CLI:npm uninstall -g @angular/cli 或 yarn global remove @angular/cli
  • 安装与项目匹配的CLI版本(11.x.x):npm install -g @angular/cli@~11.0.3 或 yarn global add @angular/cli@~11.0.3
  • 本地项目同步CLI依赖:在项目根目录执行 npm install @angular/cli@~11.0.3 --save-dev 或 yarn add @angular/cli@~11.0.3 --dev

2. 锁定适配TypeScript 4.0.2的@types/lodash-es版本

建议使用4.17.0版本,经测试该版本的类型定义语法与TS4.0.x完全兼容:

  • 卸载现有@types/lodash-es:yarn remove @types/lodash-es
  • 安装指定版本:yarn add @types/lodash-es@4.17.0 --dev

3. 清理依赖缓存并重新安装

避免Yarn缓存的旧依赖导致问题:

  • 清理Yarn缓存:yarn cache clean
  • 删除node_modules目录:rm -rf node_modules(Windows系统用rd /s /q node_modules)
  • 删除yarn.lock文件:rm yarn.lock(Windows系统用del yarn.lock)
  • 重新安装依赖:yarn install

4. 检查tsconfig.json配置

确保TypeScript编译选项与当前版本匹配,重点检查:

{
  "compilerOptions": {
    "target": "es2015",
    "module": "es2020",
    "lib": ["es2018", "dom"],
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": false, // 若仍有类型错误,可临时设为true跳过库类型检查,后续再排查
    "forceConsistentCasingInFileNames": true
  }
}
补充排查方向

如果以上步骤仍未解决问题,可尝试:

  • 检查项目中是否直接依赖了@types/lodash,若存在需确保其版本与@types/lodash-es一致
  • 排查是否有其他第三方依赖引入了高版本@types/lodash,可通过yarn why @types/lodash查看依赖树,针对性处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 04:28:11