You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Yarn Berry实现Zero-Installs时,是否需将unplugged目录纳入Git仓库?

Yarn Berry Zero-Installs:是否需要将unplugged目录纳入Git仓库?

问题背景

在Yarn Berry的Zero-Installs模式下,原本克隆仓库后应该直接执行yarn start就能启动项目,但因为.yarn/unplugged目录被Git忽略,导致启动时出现如下报错:

$ yarn start
C:\Users\com\Desktop\zero3\project\.pnp.cjs:25991
      Error.captureStackTrace(firstError);
            ^

Error: Required unplugged package missing from disk. This may happen when switching branches without running unplugged packages must be fully materialized on disk to work).

Missing package: open@npm:8.4.0
Expected package location: C:\Users\com\Desktop\zero3\project\.yarn\unplugged\open-npm-8.4.0-df63cfe5dules\open\

当前.gitignore的相关配置如下:

.yarn/*
!.yarn/cache
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
# !.yarn/unplugged

现在需要确认:使用Yarn Berry实现Zero-Installs时,是否应该将unplugged目录纳入Git仓库?

回答

是的,必须将.yarn/unplugged目录加入Git仓库,这才是Zero-Installs的正确实现方式:

  • Unplugged目录里放的是无法通过PnP机制直接加载的包——这类包要么包含二进制可执行文件,要么需要读取本地物理文件,只能以完整文件的形式存放在磁盘上,没法像普通缓存包那样靠链接引用。
  • Zero-Installs的核心就是让克隆仓库后不用跑yarn install就能直接运行项目,unplugged目录是实现这个目标的必要部分,缺失它就会出现你遇到的依赖找不到的报错。

具体改法很简单,把.gitignore里注释掉的那行取消注释:

!.yarn/unplugged

提交这个修改后,其他开发者克隆仓库时就能拿到完整的unplugged目录,直接执行yarn start就能启动项目,不用额外执行安装命令。


内容的提问来源于stack exchange,提问作者loare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 05:45:34