提交代码时触发.pre-commit-config.yaml InvalidConfigError错误的技术求助
Fixing InvalidConfigError in .pre-commit-config.yaml for Local pytest Hook
这个错误一看就是YAML的结构问题——你在定义本地repo的pytest hook时,格式写错了。id: pytest前面的那个破折号(-)完全多余,它把这一行变成了一个独立的列表项,而不是属于repo: local的子配置,导致YAML解析器直接懵了。
先看看你出错的这段配置:
- repo: local - id: pytest name: Run tests (pytest) entry: pytest -x language: system types: [python] pass_filenames: false
正确的写法应该是这样的——把id前面的破折号去掉,让它作为repo: local这个条目下的子属性,保持好缩进:
- repo: local id: pytest name: Run tests (pytest) entry: pytest -x language: system types: [python] pass_filenames: false
简单解释下:
在pre-commit的配置里,每个repo是一个列表项(开头的-),而这个repo下面的所有配置(id、name、entry等)都属于这个列表项里的字典,必须缩进对齐,不能再用-把它们变成新的列表元素。你原来的写法里,- id: pytest和- repo: local是同级的列表项,解析器会认为第一个repo条目(repo: local)没有任何子属性,然后第二个列表项(id: pytest)又不是一个合法的repo配置,所以直接抛出了InvalidConfigError。
把缩进和格式改对之后,这个错误应该就消失了,你可以重新提交代码试试。
内容的提问来源于stack exchange,提问作者felice
相关产品推荐
相关产品推荐

