纱线是否是npm的包装?

Yan*_*Tay 3 javascript npm yarnpkg

我知道Yarn带来的好处以及它所带来的好处npm.不过我确实有些疑惑:

  • npm对于保留相同行为的其他一些命令,Yarn是否在引擎盖下使用npm
  • 如果不是,是否有理由将它们重新用于纱线并且这种方法存在缺点?

jsd*_*rio 5

不,这是重写.

我们决定尝试更全面地解决问题,而不是继续围绕npm客户端构建基础架构.如果我们试图建立一个解决我们遇到的核心问题的新客户,该怎么办?塞巴斯蒂安·麦肯齐(Sebastian McKenzie)在伦敦办公室开始讨论这个想法,我们很快就对它的潜力感到兴奋.

- https://code.facebook.com/posts/1840075619545360

它提供相同的API(如果你注意到,没有一些快捷方式).这是(我猜),因为原始界面足够简单并确保采用.

它更快,解决了npm的典型问题(主要是不确定性的部署).这只能通过自上而下的重写来实现,它们还改变了如何安装deps(获取,计算,下载,链接),因此逻辑是不同的.

这种方法的缺点是它需要大量的工作.通常情况下,你只需要PR主要回购,但鉴于他们想要一个完全不同的东西,Facebook有办法,他们决定单独进行.

另一个很大的缺点是它的好处不会立即为所有npm老用户提供,因为它不是升级版本,并且没有安装节点.