为什么 --add.prefer-offline true 前面有 --

在 rails 项目里看到的 yarnrc 配置有点疑问

yarnrc 文件中,有两种类型的配置项。一种是全局配置项,另外一种是命令特定的配置项。

  • 对于全局配置项,例如 strict-ssl false,它会直接影响到 Yarn 的全局行为。这也是你在大多数的 .yarnrc 文件中看到的那种配置项。在这种配置项中,配置项名称后面直接跟着要设置的值,中间没有任何字符。

  • 对于命令特定配置项,像 --add.prefer-offline true 这样的配置项,它只在执行特定的 Yarn 命令时才会生效。这种配置项的名称前面都有 --,然后是命令的名称,再则是该命令的某个参数。比如在 --add.prefer-offline true 中,add 是 Yarn 的命令,prefer-offlineadd 命令的一个参数。这种配置项只在执行对应的命令时生效,如果执行其他的命令,这个配置项就不会生效。

因此,--add.prefer-offline true 之所以前面有 --,是因为这是一个命令特定的配置项。它只在执行 yarn add 命令的时候生效。

yarn 如何获取全局配置

要获取 Yarn 的全局配置,你可以使用 yarn config list 命令。这个命令会显示出 Yarn 当前的所有配置信息。

在命令行工具(如 Terminal 或 cmd)中输入下面的命令,然后按 Enter 键即可:

yarn config list

运行这个命令后,你将看到一个类似这样的结果:

yarn config v1.x.x
info yarn config
{
  'version-tag-prefix': 'v',
  'version-git-tag': 'true',
  'version-git-sign': 'false',
  'version-git-message': 'v%s',
  'init-version': '1.0.0',
  'init-license': 'MIT',
  ...
}

这个结果列出了 Yarn 当前的所有配置。你可以在其中找到你感兴趣的配置项。