Husky (v8) - 设置预提交时出现多个问题(错误:无法生成且未创建预提交文件)

问题描述 投票:0回答:1

在一个新项目中,我运行:

npm install --save-dev husky

然后:

npx husky init

预期结果(根据文档@https://typicode.github.io/husky/get-started.html

“init 命令简化了项目中 husky 的设置。它在 .husky/ 中创建预提交脚本,并更新 package.json 中的准备脚本。”

发生了什么: 控制台记录以下行,并且没有创建文件夹:

Usage:
  husky install [dir] (default: .husky)
  husky uninstall
  husky set|add <file> [cmd]

接下来,根据上面的输出,我运行:

npx husky install

这会在我的项目根目录中安装一个 .husky 文件夹,其中包含一个 .gitignore 文件和一个“husky.sh”文件。 未创建预提交文件

再次尝试运行:

npx husky init 

之后,但这只是将相同的帮助文本记录到控制台。

在 .git/hooks 文件夹中,我看不到预提交文件(只有 pre-commit.sample)。

我的 package.json 文件中仍然有这个:

"lint-staged": {
  "src/**/*.{js,jsx,ts,tsx}": [
      "npm run tidy",
      "npm run test"
  ]
}

在我的脚本下:

"pre-commit": "lint-staged"

但我想知道我是否真的还需要这些?当前的 Husky 文档中没有提及它们。 Husky 文档中实际上没有太多内容...

我在.husky目录中手动添加了一个预提交文件,其中包含以下命令:

npm run lint

它运行我的 eslint 脚本。但然后我收到以下错误:

 error: cannot spawn .husky/pre-commit: No such file or directory

关于做什么或如何实际使用这个包有什么建议吗?

git package.json pre-commit husky lint-staged
1个回答
0
投票

对于遇到此问题的其他人,请首先检查安装的 Husky 版本。所有文档都指向 v9,但在安装 Husky 时却安装了 v8。

您需要根据更改日志(https://github.com/typicode/husky/releases/tag/v9.0.1)使用husky@latest进行安装,不知何故(几乎一年后)还没有发现它尚未进入在线文档...

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.