在the blog post announcing yarn (an alternative npm client)他们说,"最简单的入门方式是运行npm install -g yarn
"。但如果你去the "install yarn" page in their docs," npm安装纱线"并未在任何特定于平台的安装页面上列出,并且它仅作为"替代品"中的三个选项中的第三个提供。页。此外,当您npm install
纱线时,它会打印弃用警告,"建议使用您环境的本机安装方法安装Yarn。"所以我的问题是如果npm install
是最简单的安装方法,为什么它们不是他们文档中推荐的方法?使用npm
安装纱线是否有缺点?
答案 0 :(得分:61)
根据Yarn项目维护人员的说法,通过npm goes against the goals of the project安装Yarn会导致问题,并且通常比平台特定的安装方法更糟糕。
推荐的特定于平台的安装的优点:
Yarn团队认为npm不安全且不可靠。从"安装到npm" Yarn' "Installation" page的一节:
注意:通常不建议通过npm安装纱线。使用npm安装Yarn是不确定的,包没有签名,并且执行的唯一完整性检查是基本的SHA1哈希,这在安装系统范围的应用程序时存在安全风险。
出于这些原因,强烈建议您通过最适合您操作系统的安装方法安装Yarn。
通过npm运行Yarn(一个单独的包管理器实用程序)可能会导致边缘问题(请参阅issue 2072)
npm install -g yarn
的优势:
npm install -g yarn
)npm update -g yarn
)
yarn self-update
),但似乎是broken nvm
推荐安装的系统软件包管理器参数在引用Windows时会出现故障,而Windows中没有正式的软件包管理器(除非您计算Windows Update)。此外,像Chocolatey这样的Windows程序包管理器通常不配置为自动更新。
我不确定我是否完全同意纱线团队对此的决定,但他们确实提出了一些公平的观点。 Yarn项目还很年轻,如果它要成为npm的替代品,那么鼓励npm作为其主要安装者是没有意义的。
无论如何,在大多数情况下,通过npm进行安装似乎现在运行得很好。
来源:
答案 1 :(得分:16)
通过npm
安装Yarn没有明显的劣势。事实上,我自己选择了这种方法,原因有以下几点:
npm i --global yarn
和你
可以立即在控制台上用npm
替换yarn
。nvm
并在每个NodeJS版本上维护不同的代码项目,那么您可以在一个版本上安装Yarn而不在另一个版本上安装它答案 2 :(得分:6)
由于npm
不是特定于平台的,并且几乎可以在任何系统上运行,因此它被列为替代方案。平台特定安装没有优点或缺点。不同之处在于安装位置,但所有方法都将全局yarn
命令暴露给CLI。
我认为他们将其列为"最简单的方法"因为大多数人已经非常熟悉npm
。