我应该将 .yarn/cache 文件夹推送到 Github - Yarn2

a24*_*918 7 yarnpkg-v2

我最近升级到 Yarn2 并将以下内容添加到我的.gitignore

.yarn/*
!.yarn/cache
!.yarn/releases
!.yarn/plugins
!.yarn/sdks
!.yarn/versions
Run Code Online (Sandbox Code Playgroud)

我仍然使用nodeLinker: node-modules,但是当我推送代码时,.yarn/cache每当升级软件包时,我都会推送带有新文件的文件夹。

该文件夹应该推送到 Git 还是只推送到我的机器中?请指教。

Has*_*lef 12

之所以.yarn/cache不被忽略,是因为!前面有 。

Yarn Berry (Yarn 2/3) 将您的node_module 的zip 文件存储在其缓存中。缓存可以是系统中的全局缓存,因此可以在多个项目之间共享,也可以是本地缓存。我假设在你的情况下,缓存是本地的并存储在内部 - <project_dir>/.yarn/cache

要更改此行为,您可以enableGlobalCache: true在 中使用.yarnrc.yml

该文件夹应该推送到 Git 还是只推送到我的机器中?

嗯,这是一个权衡。

优点:

  1. 安装时间更快,您无需在fetch阶段下载任何软件包
  2. 您可以在没有互联网连接的情况下安装模块。
  3. 分支机构之间的移动是无缝的。

缺点:

  1. 你的仓库将会急剧增加。对于你在包中所做的每一个更改,git 都会记住整个历史记录。
  2. 克隆时间增加
  3. 这是不可逆转的(某种程度上)。将其推送到 master 后,除非完全删除这些提交,否则无法回滚。