为什么 pnpm 在顶层链接某些依赖项?
Why is pnpm linking certain dependencies at the top level?
如果我 运行 :
pnpm install eslint
然后我的 node_modules
目录最终包含:
node_modules
.bin/
.pnpm/
@eslint/eslintrc
eslint
eslint-scope
eslint-utils
eslint-visitor-keys
.modules.yaml
我似乎找不到关于 eslint
或其依赖项的任何特别之处,但也许我没有找到正确的地方。
唯一有意义的是 pnpm 将这些依赖项提升到顶部完全基于它们以我实际安装的包的名称为前缀的事实。但这似乎真的不对。
我在这里错过了什么?
以防其他人撞到那个令人头疼的问题:
答案很简单,public-hoist-pattern
的默认值包含*eslint*
,所以所有eslint相关的模块都是特例
如果我 运行 :
pnpm install eslint
然后我的 node_modules
目录最终包含:
node_modules
.bin/
.pnpm/
@eslint/eslintrc
eslint
eslint-scope
eslint-utils
eslint-visitor-keys
.modules.yaml
我似乎找不到关于 eslint
或其依赖项的任何特别之处,但也许我没有找到正确的地方。
唯一有意义的是 pnpm 将这些依赖项提升到顶部完全基于它们以我实际安装的包的名称为前缀的事实。但这似乎真的不对。
我在这里错过了什么?
以防其他人撞到那个令人头疼的问题:
答案很简单,public-hoist-pattern
的默认值包含*eslint*
,所以所有eslint相关的模块都是特例