您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Yarn2 Yarnrc文件

Yarnrc(之所以这样命名是因为必须它们.yarnrc.yml),是可以配置Yarn内部设置的地方。虽然Yarn会在父目录中找到它们,但通常应将它们保存在项目的根目录(通常是您的存储库)中。从v2开始,它们必须使用有效的Yaml编写并且具有正确的扩展名(简单地您的.yarnrc不会这样做)。

这些设置也可以通过环境变量定义(至少对于较简单的设置;尚数组和对象)。为此,只需在前面蛇形即可:YARN_CACHE_FOLDER将设置缓存夹(此类值将覆盖RC中可能已定义的任何-谨慎使用)。

该设置定义了bstate的存储位置。bstate包含在您的依赖项中具有构建要求的每个软件包的当前构建状态。bstate很安全,但是会导致所有软件包都被重建。

bstatePath:"./.yarn/build-state.yml"

下载的软件包在系统上的存储路径。它们将被标准化,压缩并以具有标准化的zip存档形式保存。即使多个Yarn实例在不同项目上同时运行,也可以认为该缓存相对安全,可以由多个项目共享。

cacheFolder:"./.yarn/cache"

如果throw(认值),则Yarn yarn install如果检测到程序包与锁中存储的校验和不匹配,则会引发异常。如果为update,则将更新锁校验和以匹配新值。如果为ignore,则不会进行校验和检查。

checksumBehavior:“throw"

约束的路径。

ConstraintsPath:"constraints.pro"

程序包不提供任何见解时应使用的认语言模式。

defaultLanguageName:“node"

Yarn是模块化的程序包管理器,可以解析来自各种来源的程序包。这样,semver范围和不仅适用于npm表-只需将认协议更改为其他协议,您的semver范围就会从您选择的任何来源中。

defaultProtocol:"npm:"

语义版本依赖性范围的认前缀,用于安装到清单的新依赖性。可能的值为"^"(认值)"~"或""。

defaultSemverRangePrefix:"^"

存储版本控制的夹。

deferredVersionFolder:"./.yarn/versions"

如果为true,则虚拟符号将在需要时使用[不可移植!]

enableAbsoluteVirtuals:false

如果为true,Yarn将通过使用颜色区分其消息的重要部分来格式化其漂亮打印。

enableColors:true

如果为true,则Yarn将忽略cacheFolder设置,并将缓存存储到共享相同配置的所有本地项目共享的夹中。

enableGlobalCache:false

如果为true,则允许CLI在其中使用超。

enableHyperlinks:true

如果为true,则Yarn在运行时将以任何方式(无论是还是)拒绝更改缓存yarn install。

enableImmutableCache:false

如果为true,则Yarn将在运行安装时拒绝更改安装工件(除了缓存)。该标志是非常侵入性的,通常只应通过手动将--immutable标志传递给来在CI上进行设置yarn install。

enableImmutableInstalls:false

如果为true,则Yarn将直接在终端内打印构建,而不是将其缓冲在日志中。这是CI环境的认设置。

enableInlineBuilds:false

如果启用(认设置),则Yarn将使用全局夹作为网络和实际缓存之间接访问。对于尚未从“零安装"中受益的项目,这可以使安装更快。

enableMirror:true

如果禁用,则Yarn将永远不会单独向网络发出任何请求,并且将引发异常而不是让其发生。对于CI来说,这是非常有用的设置,CI通常希望确保它们不会地从网络加载其依赖项。

enableNetwork:true

如果为true,则Yarn将长时间运行事件的进度条。对于CI环境,认情况下禁用此。

enableProgressBars:true

如果禁用,则Yarn将postInstall在安装项目时不执行脚本。请注意,由于有了,您现在还可以基于每个软件包禁用脚本dependencies。

enableScripts:false

如果为true,则Yarn将打印运行各种命令时花费在运行每个子步骤上的时间。当您希望每个执行都具有与先前执行完全相同的时,通常出于测试目的需要禁用此。

enableTimers:true

如果禁用,则Yarn将不再工作区,因为它们的版本恰好匹配semver范围。使用此设置将要求所有工作空间访问均通过workspace:协议进行。通常仅在某些非常特殊的情况下才需要这样做。

enableTransparentWorkspaces:false

存储所有系统全局(例如,通过的所有软件包的列表yarn link)的路径。

globalFolder:"./.yarn/global"

定义在发出HTTP请求时要使用的代理。请注意,目前Yarn仅HTTP代理(欢迎使用!)。

httpProxy:"http://proxy:0"

定义发出HTTPS请求时要使用的代理。请注意,目前Yarn仅HTTP代理(欢迎使用!)。

httpsProxy:"http://proxy:0"

如果为true,则在使用全局可执行时将忽略本地可执行。

ignorePath: false

通过init命令创建软件包时使用的许可证。

initLicense:"MIT"

通过init命令创建软件包时使用的范围。

initScope:"yarnpkg"

通过init命令创建软件包时使用的版本。

initVersion:"0.0.1"

安装状态将被持久保存的的路径。

installStatePath:"./.yarn/install-state.gz"

定义将由Yarn的锁定的。

lockfileFilename:“yarn.lock"

定义用于安装Node软件包的器(用于启用node-modules),其中之一pnp,node-modules。

nodeLinker:"pnp"

如果为true,则Yarn将在向表提出请求时始终发送身份验证凭据。通常不需要。

npmAlwaysAuth:true

定义在访问表时认使用的身份验证凭据(相当于_authv1)。强烈建议不要使用此设置npmAuthToken。

npmAuthIdent:“:密码"

定义在访问表时认使用的身份验证凭据(相当于_authTokenv1)。如果您npmScopes用于定义多个表,则该npmRegistries词典可让您基于每个表覆盖这些凭据。

npmAuthToken:"ffffffff-ffff-ffff-ffff-ffffffffffff"

定义将程序包发布到npm表时使用的认访问权限。有效值为public和restricted,但restricted通常需要付费计划(这取决于您使用的表)。

npmPublishAccess:“公共"

定义推送程序包时必须使用的表。不需要定义,种情况下npmRegistryServer将使用的值。被覆盖publishCon.registry。

npmPublishRegistry:"https://npm.pkg.github.com"

在全局配置之上,可以基于每个范围配置表(例如,指示Yarn在从给定范围访问程序包时使用您的私有表)。以下:

npmRegistries:

此项表示嵌套对象中定义的设置所涵盖的表。该协议是可选的(使用https://npm.pkg.github.com也可以)。

//npm.pkg.github.com:
请参阅npmAlwaysAuth。
npmAlwaysAuth:true
请参阅npmAuthIdent。
npmAuthIdent:“:密码"
请参阅npmAuthToken。
npmAuthToken:"ffffffff-ffff-ffff-ffff-ffffffffffff"

定义远程服务器的主机名,Yarn在npm表时应从中元数据和存档。如果要为不同的范围定义不同的表,请参见npmScopes。要为您的服务器定义身份验证方案,请参阅npmAuthToken。主机名必须使用HTTPS协议,但是可以通过将其到来更改unsafeHttpWhitelist。

npmRegistryServer:"https://registry.yarnpkg.com"

在全局配置之上,可以基于每个范围配置表(例如,指示Yarn在从给定范围访问程序包时使用您的私有表)。以下:

npmScopes:

此项表示嵌套对象中定义的设置所覆盖的范围。请注意,它不能以@字符开头。

我的公司:

请参阅npmPublishRegistry。

npmPublishRegistry:"https://registry.yarnpkg.com"

请参阅npmRegistryServer。

npmRegistryServer:"https://npm.pkg.github.com"

请参阅npmAlwaysAuth。

npmAlwaysAuth:true

请参阅npmAuthIdent。

npmAuthIdent: "username:password"
请参阅npmAuthToken。
npmAuthToken:"ffffffff-ffff-ffff-ffff-ffffffffffff"

某些软件包的依赖关系可能未正确指定-例如,缺少依赖关系,导致Yarn拒绝对其进行访问。这些packageExtensions字段提供了一种扩展现有软件包定义以及其他信息的。如果使用它,请考虑向上游发送PR并将扩展扩展到plugin-compat。

packageExtensions:

每个键都是覆盖semver范围的描述符。扩展将应用于其版本与指定范围匹配的任何软件包。无论软件包来自何处,都是如此,因此,例如,它们是否来自git或表都没有区别。仅版本很重要。

webpack@*:
dependencies:
lodash: "^4.15.0"
peerDependencies:
webpack-cli: "*"

Yarn将读取和写入.pnp..json的位置。

pnpDataPath: "./.pnp..json"

如果为true(认设置),则Yarn将.pnp.js,其中包含项目正常运行所需的所有数据。如果禁用此选项,则Yarn还将.pnp.data.json要由@yarnpkg/pnp程序包使用的。

pnpEnableInlining:true

枚举,其值(none,dependencies-only,all)定义其容量应即插即用钩允许包依靠内置的回退机制。在dependencies-only模式(认)下,不允许您的工作区使用它。

pnpFallbackMode: "dependencies-only"

匹配以下位置的(相对于与的.pnp.js相比的相对路径)将不被PnP覆盖,并且将使用常规的Node分辨率。通常仅在子项目还不属于工作空间树的情况下才需要。

pnpIgnorePattern: "^\\./subdir/.*"

如果为strict,则Yarn不允许模块要求它们未在其依赖项中明确列出的软件包。如果为loose,则Yarn将允许访问在1.x安装下已提升到顶层的软件包。请注意,即使在宽松模式下,此类也不安全(吊装规则不可预测),因此不建议使用。

pnpMode: "strict"

将在的.pnp.js之前。您可以写多行,但是对此有些皱眉。

pnpShebang: "#!/usr/bin/env node"

拔出的软件包将存储在磁盘上的路径。

pnpUnpluggedFolder: "./.yarn/unplugged"

如果为true,则--deferred在运行yarn version系列命令时,认情况下,Yarn将使用延迟版本控制()。通过手动设置该--immediate标志,可以按命令推翻此规则。

preferredDeferredVersions:false

如果为true,则当通过消除歧义改善某些操作时,Yarn会要求您提供指导。启用此设置还会解锁某些(例如,该yarn add命令建议与相关的其他工作区重用相同的依赖项)。

preferInteractive: true

应该使用哪种样式的进度条(仅在启用进度条时)。有效值可在此处找到。

progressBarStyle: "default"

此设置定义解析rc时Yarn查找的的。出于明显的原因,无法在rc中设置此设置,而必须在环境中使用YARN_RC_FILENAME变量进行定义。

rcFilename: ".yarnrc.yml"

此设置列出了允许使用HTTP协议的主机名。改用HTTPS将需要任何其他主机名。做出此决定的原因和更多细节可以在此处找到。

glob模式。

unsafeHttpWhitelist:
- 
"*.example.org"
- 
"example.org"

由于Yarn如何安装列出对等依赖性的软件包的特殊性,某些软件包将被映射到系统上实际上不存在的多个虚拟目录。此设置告诉Yarn将它们放在哪里。请注意,夹必须为$$virtual。

virtualFolder: "./.yarn/$$virtual"

Yarn二进制的路径,对于rc覆盖的目录中运行的任何命令,它将代替任何其他命令(全局命令)执行。如果扩展名以.js它结尾,则将是必需的,并且在任何其他情况下都将该扩展名。

yarnPath: "./scripts/yarn-2.0.0-rc001.js"

如果设置,该yarn set version命令会将下载的存储在此位置,而不是所引用的yarnPath。如果您希望引用的yarnPath是包装程序,而真正的Yarn二进制存储在其他位置,则此设置很有用。

yarnUpgradePath: "./scripts/yarn-2.0.0-rc001.js"

联系我
置顶