我如何阻止或选择不使用 Yarn 安装依赖项?

How can I block or opt-out of installing a dependency with Yarn?

我正在使用 Gatsby,它有一长串子依赖项,其中一些我不想让 Yarn 安装和执行。理想情况下,我希望能够添加每个项目的阻止列表,但我愿意接受其他方式来实现不安装特定包的相同目标,即使这会导致依赖它们的直接依赖项出错。

需要说明的是,我并不是要安装同一包的另一个版本,而是要完全阻止它的安装。如果我可以用我控制的包替换它,那只是一个垫片,那也是一个不错的解决方案。

我试过使用 resolutions 并将软件包版本设置为 null,但这似乎没有影响。

使用分辨率和 link 作为版本对我来说可以为故事书设置 webpack5 而不是 webpack4。

"resolutions": {
    "webpack": "5",
    "@storybook/builder-webpack4": "link:./node_modules/@storybook/builder-webpack5"
}

为了完全阻止包,可以 link 到不存在的文件夹,例如:./node_modules/.cache/null

https://yarnpkg.com/features/protocols