使用Yarnberry执行yarn start生成node_modules是否正常?
Yarnberry执行yarn start后生成node_modules是否正常?
Yarnberry(Yarn 2+)默认采用PnP(Plug'n'Play)模式,依赖以压缩包形式存在于.yarn/cache目录,确实不会生成node_modules。但执行yarn start后出现该目录,大概率是正常情况,原因主要有以下几种:
- 配置了传统node_modules模式:检查项目根目录的
.yarnrc.yml文件,若nodeLinker字段设为node-modules,Yarn会回退到传统依赖管理方式,自然会生成node_modules。你也可以通过执行yarn config get nodeLinker命令快速查看当前配置。 - 依赖工具不兼容PnP:部分React生态的旧版工具(如特定webpack loader、自定义脚本)可能尚未适配PnP模式,Yarn会自动生成
node_modules作为兼容 fallback,确保项目启动流程正常。 - 启用了PnP fallback机制:若配置了
pnpFallbackMode选项,当遇到PnP无法处理的依赖时,Yarn会自动生成node_modules来兜底。
总结:这种现象是否正常取决于你的Yarn配置和项目依赖的兼容性,先检查.yarnrc.yml里的nodeLinker配置,再排查依赖工具的PnP适配情况即可。
内容的提问来源于stack exchange,提问作者loare
相关产品推荐
相关产品推荐

