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

执行ng serve启动Angular应用时遇TypeError问题求助

解决ng serve启动时的TypeError: Object prototype may only be an Object or null: undefined错误

让我帮你拆解一下这个问题——从错误栈和你的package.json来看,核心问题出在Angular依赖版本严重不兼容,这直接导致了编译器在处理类继承逻辑时出现原型链错误。下面是具体的排查和修复步骤:

一、先明确你的依赖冲突点

从你的package.json能看到多处版本不匹配:

  • Angular核心包版本混乱:@angular/core是10.0.3,但@angular/common、@angular/forms等核心包还停留在8.0.3,跨大版本的差异会导致内部API不兼容
  • TypeScript版本过低:Angular 10要求TypeScript 3.9.x版本,但你当前用的是3.4.5,编译器无法正确处理新版本Angular的语法
  • tslib版本不足:Angular 10需要tslib >=2.0.0,但你当前是1.9.0,而错误栈正好指向了tslib.js里的__extends函数
  • zone.js版本过低:Angular 10对应zone.js ~0.10.x,你当前的0.9.1会导致运行时兼容性问题

二、具体修复步骤

1. 统一Angular核心包版本

把所有@angular/开头的依赖(包括开发依赖里的@angular/language-service)统一到同一个稳定版本,推荐和@angular/core保持一致的10.0.3。修改package.json的对应字段:

// dependencies部分
"@angular/animations": "^10.0.3",
"@angular/cdk": "^10.2.7", // 同步升级Angular CDK到对应版本
"@angular/common": "^10.0.3",
"@angular/compiler": "^10.0.3",
"@angular/core": "^10.0.3",
"@angular/forms": "^10.0.3",
"@angular/material": "^10.2.7", // 同步升级Angular Material到对应版本
"@angular/platform-browser": "^10.0.3",
"@angular/platform-browser-dynamic": "^10.0.3",
"@angular/router": "^10.0.3",
"zone.js": "~0.10.3", // 升级zone.js到Angular 10兼容版本
"tslib": "^2.0.0", // 升级tslib到最低要求版本

// devDependencies部分
"@angular/language-service": "^10.0.3",
"typescript": "~3.9.7" // 升级TypeScript到Angular 10兼容的3.9.x版本

2. 处理第三方依赖兼容性

  • primeng 8.1.1和Angular 10不兼容,需要升级到primeng ^10.0.0
  • 其他依赖如@agm/core、angular-fusioncharts等,建议查看官方文档确认是否支持Angular 10,若有兼容性问题同步升级

3. 清理并重新安装依赖

执行以下命令彻底重置依赖:

# 删除node_modules文件夹
rm -rf node_modules # Windows系统用 rmdir /s /q node_modules

# 删除锁文件
rm package-lock.json # Windows系统用 del package-lock.json

# 重新安装依赖
npm install

4. 验证修复

重新执行ng serve,如果还有报错,检查是否有遗漏的依赖版本未同步,或者第三方依赖需要额外适配。

三、错误原因解释

这个错误本质是不同版本的Angular包在编译时,内部通过tslib的__extends函数实现类继承时,因为依赖版本不匹配导致原型对象为undefined,最终触发了JavaScript的原型链规则错误。统一所有核心依赖版本后,编译器就能正确处理继承逻辑,解决这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 13:03:12