为什么husky哈士奇不再自动安装

新 husky 的另一个变化是它不再自动安装 Git 挂钩。

相反,推荐的新方法是在 package.json 中有一个 prepare1 脚本:

{
  "prepare": "husky install"
}

让我们看看为什么。

包管理器最佳实践

多年来,包管理器不鼓励将后安装用于编译以外的任何事情。

通过删除自动安装,新的 husky 是一个更好的公民,也是第一个支持 Yarn 2 零安装的版本(之前,它需要被拔掉)。

来自 npm 文档:最佳实践

“您几乎不必显式设置预安装或安装脚本。如果您这样做,请考虑是否有其他选择。安装或预安装脚本的唯一有效用途是编译”

来自 Yarn 2 文档:关于后安装的说明

“后安装脚本会对您的用户产生非常实际的影响…要点是我们认为后安装脚本不是一个可行的解决方案”

自动安装的最新问题

随着最近包管理器的改进(npm 7、Yarn 2),用户开始对 husky 4 自动安装问题进行复杂的调试。

它变得不那么可靠了:为了提供更快的安装,包管理器使用缓存(这非常好)。

因此,husky 4 后安装脚本现在并不总是运行。

例如,如果由于某些原因 husky 4 第一次安装失败,由于缓存,重新运行 npm install 将无法正常工作。

不再有输出:包管理器现在隐藏后安装输出。

没有更多确认已安装挂钩或信息消息来帮助用户调试问题。

这可能看起来不多,但在开源项目中,具有不同经验的用户可能会克隆一个项目。因此,拥有某种信息消息很重要。尤其是对于像 husky 这样具有很大副作用(更改 Git 钩子)的工具。

如果您认为后安装应该只用于编译,那么这些行为(一次性后安装,没有输出)是有意义的。

结论

husky 将自动安装降至:

  • 遵循包管理器的最佳实践和演变
  • 更加可靠和可预测
  • 为具有不同经验的人保留用户友好的消息

  1. Yarn 2 有一个例外。 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值