如何为特定项目覆盖全局纱线注册表

Art*_*ich 5 javascript npm yarnpkg

对于大多数项目,我从内部服务器中提取软件包,因此它是通过以下方式添加的:

yarn config set registry http://custom-packages-server.com

但是现在在新项目中,我想使用其他(默认)项目,而仅在特定项目中使用它。据我了解,如果我在新项目的目录中运行以下命令

yarn config set registry https://registry.yarnpkg.com

它将同时更新所有其他项目的全局注册表值,因此他们还将在新位置查找软件包。

那么,纱中是否有可能仅覆盖特定项目的全局注册表记录?

Art*_*ich 7

找到了实现该目标的方法。

事实证明,您可以在项目目录中使用.yarnrc文件(是的,与几乎相同.npmrc)。在这里,您可以指定先确定纱线的自定义配置属性。

这就是我的.yarnrc文件现在的样子。

registry "https://registry.yarnpkg.com"
Run Code Online (Sandbox Code Playgroud)

  • 当树向上遍历时,它们会被合并(_.yarnrc 文件允许您配置其他 Yarn 功能。也可以使用 config 命令来设置这些选项。Yarn 会将 .yarnrc 文件合并到文件树中。_) https:// /yarnpkg.com/lang/en/docs/yarnrc/ - 您可以通过运行带有“--verbose”标志的命令来查看解析顺序(例如“yarn Upgrade React --verbose”) (3认同)

fri*_*mle 5

也可以临时覆盖一个yarn命令的注册表,而无需修改文件:

yarn --registry=https://registry.company.com/
Run Code Online (Sandbox Code Playgroud)