yarn安装-g 与否的区别

110 阅读3分钟

npm install yarn -gnpm install yarn 是有区别的。

一. 先上总结

  1. 不加 -g 的安装方式,npm install yarn 会在项目中生成 node_modules 和(如果需要的话)package.json 文件,主要用于项目本地的依赖管理。
  2. 使用 -g 参数安装 Yarn 使其可在全局范围内使用,非常适合需要在多个项目中使用 Yarn 的开发者。

二. 进行对比

请查看 npm install yarn -gnpm install yarn 的对比表格:

特性npm install yarn -gnpm install yarn
安装位置全局安装本地安装
可用性在任何地方可用仅在当前项目中可用
生成 package.json不会生成 package.json如果没有 package.json,会提示创建
生成 node_modules不生成 node_modules会生成 node_modules 文件夹
使用命令直接使用 yarn需要使用 npx yarn 或将其添加到脚本中
适用场景当需要全局使用 Yarn 时在特定项目中需要使用 Yarn 时

三. 请查看详情

1. npm install yarn

如果没有 -g 参数,这个命令将 Yarn 安装为项目的本地依赖。这意味着 Yarn 将只在当前项目的 node_modules 中可用,并且您需要通过 npx yarn 来运行它,而不是直接使用 yarn 命令。

运行 npm install yarn 时,以下情况会发生:

(1) 生成 package.json:如果当前目录下没有 package.json 文件,npm 会提示您创建一个新的 package.json 文件,您将被引导填写一些关于项目的信息。如果您选择不创建,命令将无法完成。

(2) 创建 node_modules 文件夹:运行 npm install 会在当前目录下生成一个 node_modules 文件夹,里面包含安装的所有依赖,包括 Yarn。

(3) 更新 package.json:如果当前目录下已经有 package.json 文件,Yarn 将作为项目的依赖添加到 package.json 中的 dependenciesdevDependencies 部分。

2. npm install yarn -g

这个命令将 Yarn 安装为全局模块,这样您可以在任何项目中使用 yarn 命令。这是推荐的安装方式,因为它允许您在系统范围内访问 Yarn。

当您在加 -g 参数的情况下运行 npm install yarn -g 时,以下情况会发生:

(1) 全局安装:Yarn 将被安装为全局模块,这意味着您可以在终端的任何位置使用 yarn 命令,而不需要限制于特定的项目文件夹。

(2)不生成 package.json:全局安装不会在当前目录下生成 package.json 文件。

(3)不会生成 node_modules:全局安装时,Yarn 不会在当前目录下创建 node_modules 文件夹。相反,相关文件将存储在 npm 的全局模块目录中。

(4)更新全局依赖:Yarn 会被添加到您的全局依赖中,您可以使用 npm list -g --depth=0 命令查看已安装的全局模块。

(5)适用于所有项目:全局安装的 Yarn 版本可以用于任何项目,无需在每个项目中单独安装。

(6)使用命令:您可以直接在终端中输入 yarn 来使用 Yarn,而无需前缀 npx