解决macos下husky commit-msg/pre-commit 脚本无法执行的问题

569 阅读1分钟

问题起因

在项目中配置好husky lint-staged 脚本后使用git命令或者其他图形化界面进行一次不符合commit-msg规则的commit,发现pre-commit和commit-msg脚本并没有执行,不合规的commit顺利的提交到了分支上,使用echo在脚本中打印文字,控制台上也没有任何反应,证明了pre-commit和commit-msg脚本没有被执行。

解决办法

  1. 打开终端并输入以下命令:

    sudo spctl --master-disable
    
  2. 输入管理员密码并按回车键

  3. 重新运行pre-commit钩子

    如果问题仍然存在,可尝试运行以下命令:

    chmod +x .husky/pre-commit
    chmod +x .husky/commit-msg
    

这将确保pre-commit和commit-msg脚本有可执行权限。