GitLab CI构建报错Failed to load config "airbnb"但本地运行正常如何解决
解决方案
- 清理重复的eslint配置:你当前同时在
package.json的eslintConfig字段和独立的.eslintrc文件中配置了规则,create-react-app的eslint加载逻辑在不同环境下的优先级判断可能存在差异,直接删除package.json中的eslintConfig整段配置,统一使用.eslintrc作为唯一配置文件即可。 - 校验CI的依赖安装逻辑:所有eslint相关依赖都放在
devDependencies中,如果GitLab CI的安装步骤设置了NODE_ENV=production或者添加了--production/--only=production参数,会跳过开发依赖的安装,自然找不到airbnb的配置包。检查你的.gitlab-ci.yml安装脚本,移除生产依赖限制,保证CI安装项目全量依赖即可。 - 清理CI缓存:GitLab CI默认会缓存旧的
node_modules文件,如果之前构建留下了损坏或不完整的依赖缓存,会一直抛出加载失败错误,进入项目CI设置手动清除所有缓存后重新触发构建即可。 - 强制eslint的依赖解析路径:CI环境的执行工作目录可能和本地不一致,将
package.json中的eslint执行脚本修改为eslint --resolve-plugins-relative-to . .,强制eslint从项目根目录查找依赖包,避免路径适配问题。 - 移除冗余依赖:
eslint-config-airbnb已经内置了eslint-config-airbnb-base的所有规则,同时安装两个包可能出现版本兼容冲突,将eslint-config-airbnb-base从devDependencies中删除后重新锁定依赖版本即可。
内容的提问来源于stack exchange,提问作者Bruno Fernandes
相关产品推荐
相关产品推荐

