我已经成功使用
pre-commit
相当长一段时间了! 最近我更新了,收到一条新的错误消息,但之前工作正常
这是错误消息:
$ pre-commit run --all-files
[INFO] Initializing environment for https://example.com/some/repo.
An error has occurred: InvalidManifestError:
==> File /tmp/tmpylh2459v/repoe8ut4bem/.pre-commit-hooks.yaml
==> At Hook(id='some-hook-id')
==> At key: language
=====> Expected one of conda, coursier, dart, docker, docker_image, dotnet, fail, golang, haskell, lua, node, perl, pygrep, python, r, ruby, rust, script, swift, system but got: 'python_venv'
Check the log at /home/asottile/.cache/pre-commit/pre-commit.log
做什么?
您最近似乎已更新到预提交 4.0.0,删除了对
language: python_venv
的支持。 这个警告已经有一段时间了,但幸运的是 language: python_venv
只是 language: python
的别名
如果您直接在配置 (
language: python_venv
) 中设置了 .pre-commit-config.yaml
,则可以运行 pre-commit migrate-config
将其自动更新为 language: python
如果它位于外部存储库中(这就是上面给出的错误消息的样子),您将需要运行
pre-commit autoupdate
,这通常会将您带到已修复的版本 - 但是如果这不能修复您的问题问题,您需要将问题报告给在其 language: python_venv
中设置 .pre-commit-hooks.yaml
的任何存储库(在此示例中,存储库看起来是 https://example.com/some/repo
,挂钩 id 是 some-hook-id
)
免责声明:我创建了预提交