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

Yarn 3.5中如何像npm link一样使用yarn link?

先说明下,Yarn 3+ 跟老版本的 yarn link 逻辑不一样,不再搞全局注册那套,直接在本地项目里操作就可以。结合你的项目结构(LibA、LibB、独立应用),分两种场景说:

场景1:把单个本地库(比如LibA)挂到应用里

  1. 先去LibA的根目录(就是有package.json的那个文件夹),执行:

    yarn link
    

    这一步是把LibA标记成本地可关联的包,Yarn会在本地缓存里建个关联,不是全局的哈。

  2. 再去应用的根目录,执行:

    yarn link LibA
    

    这里的LibA必须是你在LibA的package.json里写的name字段值,执行完应用就会直接用本地LibA的代码,不会再拉npm仓库里的版本了。

场景2:处理库之间的依赖(比如LibB要用到本地的LibA)

如果LibB依赖本地的LibA,先按场景1的步骤把LibA link好,然后:

  1. 去LibB的根目录,执行:
    yarn link LibA
    
    这样LibB就会用本地的LibA,之后再把LibB关联到应用时,应用也会间接用本地的LibA。

更推荐的Yarn 3+玩法

其实Yarn 3+ 更建议直接用文件路径加依赖,比link更稳定,不容易出问题:

  • 在应用根目录加LibA:
    yarn add ./path/to/LibA
    
    这里的./path/to/LibA是LibA相对于应用的实际路径,比如如果LibA在应用同级目录,就是../LibA。
  • 如果LibB要依赖本地LibA,去LibB根目录执行:
    yarn add ./path/to/LibA
    
    执行完package.json里会出现类似"LibA": "file:../LibA"的依赖,Yarn会自动处理关联,不用手动link。

几个注意点

  • 一定要确保LibA、LibB的package.json里的name字段是对的,link的时候必须用这个名字。
  • 修改本地库代码后,应用会自动识别(一般不需要重新link,但开发服务器可能要重启下)。
  • 要取消关联的话,在应用或者依赖库的目录执行yarn unlink LibA就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 07:52:08