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

Angular12本地运行正常 Linux服务器构建报NG6002错误如何解决?

排查方案

1. 优先检查文件路径大小写匹配问题

你的tsconfig.json中开启了"forceConsistentCasingInFileNames": true校验规则,且Windows系统对文件名大小写不敏感,Linux系统大小写敏感,这是90%以上跨平台Angular构建失败的原因:

  • 核对app-routing.module.ts中所有导入组件的路径大小写,和服务器上实际文件/文件夹的命名完全一致,比如:
    • 导入路径写的是./home/home.component,就要确认服务器上文件夹名是小写home、文件名是小写home.component.ts,不存在首字母大写的Home文件夹或者HomeComponent.ts这类命名
    • 所有组件的导入路径大小写也要在app.module.ts中做同样校验

2. 清理依赖重新安装

不要把本地Windows环境的node_modules、package-lock.json直接传到服务器,跨系统的依赖二进制包不兼容会导致莫名编译错误:

# 服务器上项目根目录执行
rm -rf node_modules package-lock.json
npm install

3. 提取完整错误日志

NG6002是衍生错误,本质是AppRoutingModule本身编译失败才会在被AppModule导入时报错,在服务器执行带详细日志的构建命令,找到AppRoutingModule编译失败的根因:

ng build --verbose

执行后往前翻日志,会找到路径不存在、组件缺失、语法错误这类更明确的错误提示。

4. 本地复现校验

本地执行生产模式构建,提前发现开发模式下未暴露的问题:

ng build --configuration production

如果本地也出现报错,就可以直接在本地调试修复,不用反复同步代码到服务器。

可选校验:路由配置优化

你当前路由配置中同时存在空路径重定向和空路径组件配置,虽然本地运行无问题,但部分严格编译模式下可能触发校验异常,可以调整为更规范的写法:

// 删掉原来的重定向行,直接给HomeComponent设置空路径
const routes: Routes = [
  {
    path:'', 
    component: HomeComponent,
    children:[]
  },
  {
    path:'notify', 
    component: NotifyFormComponent
  },
  {
    path:'login', 
    component: LoginComponent
  }
];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:15:06