sha*_*dow 7 python git pre-commit pre-commit-hook pre-commit.com
我在预提交和黑色方面遇到了麻烦。
一切工作正常,直到我用 清除缓存pre-commit clean。现在我总是收到错误
该挂钩
black需要预提交版本 2.9.2,但已安装版本 2.6.0。也许运行`pip install --upgrade pre-commit
如果我检查我的版本,我正在运行最新的预提交版本 (v2.12.1)。另外,如果我运行推荐的命令,则不会发生任何变化,并且会出现相同的错误。如果我停用black挂钩,错误就会消失,所以我至少知道这是黑色的问题。
我尝试将黑色版本更改为stable最新版本,但没有任何帮助。
我有什么想法可以解决这个问题吗?
我的预提交配置:
- repo: https://github.com/ambv/black
rev: stable
hooks:
- id: black
language_version: python3.8
exclude: |
(?x)(
migrations/|
config/|
_build/|
buck-out/|
build/|
dist/
)
Run Code Online (Sandbox Code Playgroud)
非常感谢帮助
Ant*_*ile 17
rev: stable不是受支持的配置——当您运行时,您还会收到一条警告,准确地告诉您:
$ pre-commit run black --all-files
[WARNING] The 'rev' field of repo 'https://github.com/ambv/black' appears to be a mutable reference
(moving tag / branch). Mutable references are never updated after first install and are not
supported. See https://pre-commit.com/#using-the-latest-version-for-a-repository for more details.
Hint: `pre-commit autoupdate` often fixes this.
...
Run Code Online (Sandbox Code Playgroud)
该警告还告诉您这样做的基本原理,并解释了您所看到的行为:可变引用在首次安装后永远不会更新- 因此缓存中的版本来自旧版本的 black,当您清除它时,它已更新为最新的
最新版本的黑色types_or在其定义中使用,这需要更新版本的pre-commit
顺便说一句,你exclude没有做你想做的事——pre-commit只在签入存储库的文件上运行,因此排除诸如dist和 之类的东西_build是不必要的
要修复您看到的实际错误消息,请确保pip install --upgrade pre-commit(pre-commit install如果您已经移动了第一次安装预提交的位置,则可能需要重置 git hook)——which -a pre-commit可以帮助您找到所有安装
免责声明:我是预提交的创建者
| 归档时间: |
|
| 查看次数: |
7911 次 |
| 最近记录: |