Angular CLI升级后Travis CI构建报错:找不到angular.json文件
解决Angular CLI升级后Travis构建报错"Local workspace file ('angular.json') could not be found"
这个问题的根源很明确:Angular CLI 6.0+版本开始使用angular.json作为项目的核心配置文件,而你之前用的1.7.4版本依赖的是.angular-cli.json。升级时如果没有完成配置文件的迁移,Travis CI在构建时找不到新的配置文件就会报错。
这里给你一套完整的解决步骤:
1. 本地完成配置文件迁移
首先在你的开发机器上完成配置文件的转换,这是最关键的一步:
- 先全局安装目标版本的Angular CLI:
npm install -g @angular/cli@6.0.0-rc.3 - 进入项目根目录,执行官方的迁移命令,这个命令会自动把旧的
.angular-cli.json转换成新的angular.json:ng update @angular/cli注意:如果执行时提示需要更新其他Angular包(比如
@angular/core),跟着提示执行ng update @angular/core即可,确保核心包版本和CLI版本兼容。 - 迁移完成后,把生成的
angular.json文件提交并推送到GitHub仓库——Travis构建时需要读取这个文件。
2. 调整Travis CI的构建脚本
打开项目根目录的.travis.yml文件,做以下检查和调整:
- 确保构建命令使用项目本地的CLI,避免全局版本不一致的问题。把原来的
ng build改成:npx ng build - 确认
install步骤是标准的npm install,这样Travis会自动安装package.json里指定的CLI版本依赖,不需要额外全局安装。
3. 验证迁移效果
- 本地先执行
npx ng build,确认项目能正常构建,没有报错。 - 推送代码到GitHub,触发Travis构建,观察日志是否还出现找不到
angular.json的错误。
如果还有问题,可以检查Travis日志里的npm install步骤,确认node_modules/@angular/cli的版本确实是6.0.0-rc.3,有时候依赖安装失败会导致CLI版本不对。
内容的提问来源于stack exchange,提问作者Pradeep
相关产品推荐
相关产品推荐

