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

VSCode搭配Yarn PnP时找不到prettier模块,扩展无法正常工作

解决Yarn 2+/Berry/Yarn 4 PnP模式下VSCode无法解析prettier/eslint的问题
  • 安装Yarn SDK for VSCode插件
    PnP的模块解析逻辑和传统node_modules完全不同,VSCode默认无法识别。安装这个插件后,它会自动适配Yarn的PnP模块路径规则,让编辑器能找到prettier、eslint这类依赖。安装完成后务必重启VSCode。

  • 生成VSCode专用的Yarn SDK
    在项目根目录执行命令:

    yarn dlx @yarnpkg/sdks vscode
    

    这个命令会在项目的.yarn/sdks目录下生成适配VSCode的工具配置,包括TypeScript、ESLint、Prettier的路径映射。执行完毕后,VSCode会弹出提示让你选择TypeScript版本,直接选Workspace Version即可。

  • 调整VSCode扩展的路径配置
    打开VSCode设置(快捷键Ctrl+,),分别搜索以下设置并修改:

    • eslint.nodePath:设置为.yarn/sdks/node
    • prettier.nodePath:设置为.yarn/sdks/node
      确保扩展能通过Yarn提供的SDK找到对应的依赖模块。
  • 确认项目的PnP配置
    检查项目根目录的.yarnrc.yml文件,确保存在以下配置:

    nodeLinker: pnp
    

    如果是从传统node_modules模式切换到PnP的,记得删除旧的node_modules文件夹和package-lock.json,然后重新执行yarn install。

  • 彻底重启VSCode验证
    完全关闭VSCode(包括后台运行的进程),重新打开项目后,尝试格式化代码或运行ESLint,确认Error: Cannot find module 'prettier'这类报错是否消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 22:59:52