执行ng build命令失败,提示找不到angular.json,求解决指导
解决Angular
ng build找不到angular.json及CLI更新无效的问题 我之前也碰到过类似的Angular CLI版本过渡时期的配置问题,结合你的依赖版本(尤其是@angular/cli 6.0.0-rc.4这个过渡版本),给你几个针对性的解决步骤:
一、先明确问题根源
Angular CLI 6.x是从旧版.angular-cli.json配置文件迁移到新版angular.json的关键版本,你当前用的是6.x的RC候选版本,很可能是项目配置文件没完成迁移,或者CLI更新过程中版本不匹配导致的异常。
二、分步解决方法
1. 检查项目根目录的配置文件
先确认项目根目录下有没有.angular-cli.json(Angular 5及以前的配置文件)或者angular.json(Angular 6+的配置文件):
- 如果只有
.angular-cli.json,说明需要执行配置迁移 - 如果两个都没有,那可能是项目初始化不完整或者配置文件被误删
2. 重新安装匹配的稳定版CLI并执行迁移
RC版本的CLI容易出现兼容性问题,建议换成同大版本的稳定版再迁移:
- 卸载全局旧CLI:
npm uninstall -g @angular/cli npm cache clean --force - 安装Angular CLI 6.x的最后稳定版:
npm install -g @angular/cli@6.2.9 - 回到项目根目录,执行迁移命令(这个命令会自动把
.angular-cli.json转换成angular.json):ng update @angular/cli@6
3. 修复依赖版本冲突
你的依赖里webpack 2.7.0和Angular CLI 6.x不兼容(CLI 6.x需要webpack 4.x),这会导致CLI运行异常:
- 删除项目根目录的
node_modules文件夹、package-lock.json文件 - 重新安装依赖:
npm install
4. 手动创建angular.json(如果迁移失败)
如果上面的迁移命令没生成angular.json,可以手动创建一个基础模板,示例如下(根据你的项目名称和路径调整):
{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "your-project-name": { "root": "", "sourceRoot": "src", "projectType": "application", "architect": { "build": { "builder": "@angular-devkit/build-angular:browser", "options": { "outputPath": "dist/your-project-name", "index": "src/index.html", "main": "src/main.ts", "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.app.json", "assets": [ "src/favicon.ico", "src/assets" ], "styles": [ "src/styles.css" ], "scripts": [] } }, "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { "browserTarget": "your-project-name:build" } } } } }, "defaultProject": "your-project-name" }
记得把your-project-name替换成你实际的项目名称,调整assets、styles等路径匹配你的项目结构。
三、验证解决结果
执行完上述步骤后,在项目根目录运行:
ng --version
确保全局和本地的CLI版本一致,然后再尝试ng build,应该就能正常运行了。
内容的提问来源于stack exchange,提问作者Code_Vishal
相关产品推荐
相关产品推荐

