我已经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
该怎么办?
看起来你最近更新到了 pre-commit 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
设置的任何存储库(在此示例中,存储库看起来像是,钩子 ID 是)language: python_venv
.pre-commit-hooks.yaml
https://example.com/some/repo
some-hook-id
免责声明:我创建了预提交