如果我的钩子失败了,我可以停止 cookiecutter 吗?

Can I stop the cookiecutter if my hook fails?

我正在使用 cookiecutter 来帮助管理 Web 模板。您可以指定一个特殊文件 hooks/pre_gen_project.py,它将 运行 在任何模板命令开始之前。但是,如果失败,cookiecutter 会继续运行,即使 hooks/pre_gen_project.py 抛出异常!一个最小的例子就是:

raise SyntaxError

在此文件中。有没有办法在出现错误后停止执行?

直到最近,cookiecutter 都会忽略挂钩脚本中的错误。 我已经提交 a fix for this that got merged recently.

因此,如果您使用Cookiecutter >= 1.3.0,则当钩子脚本失败时项目生成将被取消。 :)