使 Yarn 不提升特定包的依赖项

Posted

技术标签:

【中文标题】使 Yarn 不提升特定包的依赖项【英文标题】:Make Yarn don't hoist the dependencies of the specific package 【发布时间】:2021-09-15 09:29:04 【问题描述】:

在下面的项目中,我希望TodoList 的所有依赖项都不会托管到monorepo 根目录中的node_modules

以下设置不足以达到此效果:


  "private": true,
  "workspaces": 
    "packages": [ "BusinessRules", "Server", "TodoList" ],
    "nohoist": [
      "TodoList/**"
    ]
  

"TodoList/**/**" 也不够用。

如何让TodoList的所有依赖都在TodoList/node_modules里面?

【问题讨论】:

【参考方案1】:

找到解决方案here。

在这种情况下,需要在TodoList/package.json下面添加JSON:

"workspaces": 
    "nohoist": ["**"]
,

【讨论】:

以上是关于使 Yarn 不提升特定包的依赖项的主要内容,如果未能解决你的问题,请参考以下文章

NPM 和 Yarn 使用国内淘宝镜像源提升各依赖安装速度

如何使用“yarn”或“npm”列出特定类型的依赖项

使用 Yarn 工作区/nohoist 时,如何控制 Yarn 为依赖项的 peerDependency 选择哪个版本?

Yarn依赖与版本

Yarn依赖与版本

在两个 Visual Studio 实例中使用签名依赖项,一个提升/管理员,一个普通