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

Angular 5运行报错:No module factory available for dependency type: ContextElementDependency

解决Angular 5中"No module factory available for dependency type: ContextElementDependency"错误

这个错误我之前帮同事排查过好几次,大概率是webpack版本不匹配或者本地依赖缓存异常导致的——毕竟队友用相同代码没问题,说明代码本身是正常的,问题肯定出在本地依赖环境或者锁定文件的差异上。试试下面这些针对性的解决步骤:

1. 彻底清除依赖缓存并重装

有时候npm/yarn的缓存里会残留旧版本的依赖,哪怕删了node_modules也没用,先彻底清掉:

  • 如果你用npm:
    npm cache clean --force
    rm -rf node_modules package-lock.json
    npm install
    
  • 如果你用yarn:
    yarn cache clean
    rm -rf node_modules yarn.lock
    yarn install
    

2. 锁定webpack到Angular 5兼容的版本

Angular 5对应的webpack版本是^3.10.0,如果你的package.json里没明确指定,很可能安装了更高版本的webpack导致冲突。手动把它加到devDependencies里:

"devDependencies": {
  // 其他依赖...
  "webpack": "^3.10.0",
  // 其他依赖...
}

然后重新执行依赖安装命令。

3. 同步Angular CLI版本到兼容范围

Angular 5对应的Angular CLI版本是1.5.x,如果你的全局或本地CLI版本太高,也会引发依赖不兼容:

# 先卸载全局的高版本CLI
npm uninstall -g @angular/cli
# 安装Angular 5适配的CLI版本
npm install -g @angular/cli@1.5.8
# 本地项目也同步安装这个版本
npm install --save-dev @angular/cli@1.5.8

4. 清理Angular CLI的构建缓存

有时候构建缓存会残留异常数据,试试清理后重新构建:

ng clean
ng serve # 或者ng build --prod

如果以上步骤都没解决问题,麻烦把你的package.json完整内容贴出来,这样能更精准地定位依赖冲突的点~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:16:49