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

pnpm monorepo中globals包未在顶层node_modules链接,ESLint无法识别怎么办?

在pnpm Monorepo中正确使用globals包的方案

核心解决方案:将globals安装为根目录开发依赖

你的eslint.config.mjs放在项目根目录,根目录代码依赖的包必须在根目录package.json中声明,pnpm才会在顶层node_modules创建对应符号链接。执行以下命令:

pnpm add -Dw globals
  • -D:标记为开发依赖
  • -w:指定安装到工作区根目录(而非子工作区)

为什么之前的尝试无效?

  • pnpm默认严格隔离各工作区依赖,根目录代码不会去子工作区的node_modules查找依赖,所以即便在package2中添加globals依赖,根目录的ESLint配置也无法访问。
  • 只有包被声明在根目录package.json中,或通过pnpm hoist配置(不推荐随意修改,会破坏隔离性)强制提升时,才会出现在顶层node_modules。

验证方法

安装完成后,检查顶层node_modules目录下是否存在globals的符号链接,此时运行ESLint应能正常识别Node.js全局变量(如process),不会再报找不到globals包的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 22:03:14