Yarn每次都会删除我的node_modules文件夹

6
我最近在我的一个系统上成功地使用了yarn,替换npm,用于我的react-native项目。使用的是yarn版本1.22.11。我运行它,它完美地解决了依赖问题,没有问题。
所以我将项目复制到另一台电脑上。我想做同样的事情——使用yarn——但当我运行“yarn”命令时,它不是遍历我的目录并修复我的依赖关系……
……相反,yarn遍历我的目录并删除文件和文件夹!!这是yarn版本2.4.1。
有人有关于为什么会发生这种情况的想法吗?
1个回答

7

yarn 2默认不使用或创建node_modules目录,而是使用一种叫做Plug 'n' Play(PnP)的新技术。如果您从yarn 1.x升级到yarn 2.x,则会删除node_modules文件夹。

了解有关yarn 2和PnP的入门知识,请参见https://dev.to/arcanis/introducing-yarn-2-4eh1https://yarnpkg.com/features/pnp

如果您想在yarn 2中关闭PnP并使用node_modules,请参见:如何关闭yarn@2 PnP?

但大多数社区仍然坚持使用yarn 1.x。请参见https://blog.hao.dev/state-of-yarn-2-berry-in-2021

您可以决定使用yarn 1.x、返回npm或尝试带有或不带有PnP的yarn 2.x berry版本。一般来说,如果您的项目可以与PnP一起使用,则速度要快得多。但是,JavaScript生态系统中许多软件包不兼容。

更新于2022年:现在可用的是yarn 3.x,比yarn 2更易于升级。pnpm现在也是一个有趣的选择。


谢谢回复!我已经探索了新的配置,并决定暂时坚持使用1.x版本,直到生态系统跟上来。 - johnrubythecat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接