一尘不染

为什么不使用npm安装yarn?

node.js

他们在博客文章中宣布yarn(npm的替代客户端),他们说:“最简单的入门方法是运行npm install -g yarn”。但是,如果您转到其文档中的“ install
yarn”页面
,则“ npm install
yarn”未在任何特定于平台的安装页面上列出,并且仅作为“ Alternatives”页面上三个选项中的第三个选项提供。 。此外,当您进行npm install纱线编织时,它会显示弃用警告:“建议针对您的环境使用本地安装方法来安装Yarn。” 所以我的问题是,如果npm install是最简单的安装方法,为什么在他们的文档中不是推荐的安装方法?使用安装纱线是否有缺点npm


阅读 1076

收藏
2020-07-07

共1个答案

一尘不染

根据Yarn项目维护者的说法,通过npm安装Yarn
违反了项目目标,可能会引起问题,并且通常比特定于平台的安装方法更糟糕。


建议的特定于平台的安装的优点:

  • Yarn团队认为npm不安全且不可靠。在Yarn的“安装”页面上的通过npm安装”部分中:

注意:
通常不建议通过npm安装Yarn。使用npm安装Yarn是不确定的,程序包未签名,唯一执行的完整性检查是基本SHA1哈希,这在安装系统范围的应用程序时会带来安全风险。

由于这些原因,强烈建议您通过最适合您的操作系统的安装方法来安装Yarn。

  • 通过npm运行Yarn是一个单独的程序包管理器实用程序,可能会导致边缘问题(请参阅问题2072

  • 通过系统软件包管理器进行安装可使Yarn与npm脱钩,从而使您无需npm即可运行Yarn

  • 系统软件包管理器通常定期运行,以使Yarn保持更新
  • 通过npm安装Yarn很

优点npm install -g yarn

  • 快速简便(npm install -g yarn
  • 可以在任何npm环境中执行(与平台无关)
  • Node.js开发人员的熟悉范例和过程
  • 可以轻松更新(npm update -g yarn
    • 存在纱线更新命令(yarn self-update),但似乎已损坏
  • 不依赖系统软件包管理器
  • 可以通过以下方式将不同版本的Yarn用于不同的项目或不同版本的Node.js: nvm

推荐的安装的系统软件包管理器参数在引用Windows时往往会崩溃,因为Windows没有正式的软件包管理器(除非您将Windows
Update计数在内)。同样,Windows软件包管理器(例如Chocolatey)通常未配置为自动更新。

我不确定我是否完全同意Yarn团队对此的决定,但他们确实提出了一些合理的观点。Yarn项目仍处于起步阶段,如果要替换npm,那么鼓励npm作为其主要安装程序是没有意义的。

无论如何,通过npm进行的安装在大多数情况下现在似乎可以正常工作。


资料来源:

2020-07-07