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

Yarn PnP环境执行命令触发RangeError栈溢出,求助解决

解决Yarn Plug'n'Play工作区的「RangeError: Maximum call stack size exceeded」错误

问题背景

在搭建Yarn PnP工作区时,执行yarn dlx @yarnpkg/sdks vscode触发栈溢出错误,手动创建文件和sdks文件夹后暂时解决,但后续用yarn create react-app frontend --use-pnp创建React应用时再次报错,环境为Node v18.12.0、Yarn v3.3.1。

实用解决方案

1. 清理缓存重置工作区

栈溢出常和缓存异常有关,先彻底清理再重建:

  • 清理Yarn缓存:
    yarn cache clean
    
  • 删除项目根目录下的.yarn/cache、.yarn/unplugged文件夹和yarn.lock文件
  • 重新安装依赖:
    yarn install
    

2. 强制重新生成VSCode SDK

手动创建目录后,用--force参数强制覆盖生成:

  • 确保根目录下存在.yarn/sdks文件夹(没有就手动创建)
  • 执行强制生成命令:
    yarn dlx @yarnpkg/sdks vscode --force
    

3. 调整Node或Yarn版本

Node 18和Yarn 3.3.x的PnP逻辑存在兼容性问题,可尝试以下两种调整:

  • 降级Node到v16.x LTS版本
  • 升级Yarn到最新稳定版:
    yarn set version stable
    

4. 绕开自动PnP创建React应用

如果--use-pnp参数一直报错,先创建普通项目再手动开启PnP:

  • 创建不带PnP的React项目:
    yarn create react-app frontend
    
  • 进入项目目录,启用PnP并重新安装:
    cd frontend
    yarn config set nodeLinker pnp
    yarn install
    

验证

完成上述步骤后,重新执行之前报错的命令,确认是否正常运行。

内容的提问来源于stack exchange,提问作者Naveen Murali A V

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 07:05:44