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

Turborepo执行pnpm run build时出现未使用的||=语法错误求助

解决Turborepo中pnpm run build出现的SyntaxError: Unexpected token '||='问题

排查与解决步骤

  • 检查Node.js版本:||=是ES2021新增的运算符,Node.js 15.0.0及以上才原生支持。执行node -v查看版本,若低于15.x,直接升级到18.x或20.x这类LTS版本。
  • 升级tsup依赖:旧版tsup自身或其依赖可能使用了||=但未做转译。在packages/ui目录下执行pnpm add tsup@latest --save-dev,之后重新运行build命令。
  • 清理缓存:Turborepo或pnpm的缓存可能留存了旧代码导致冲突。依次执行:
    turbo clean
    pnpm store prune
    pnpm install
    
    完成后再尝试build。
  • 排查依赖包:你的代码没写||=,但某个依赖(含开发依赖)可能用了这个语法。用命令搜索依赖中的运算符:
    • Linux/macOS:pnpm exec grep -r "||=" node_modules
    • Windows PowerShell:Get-ChildItem node_modules -Recurse | Select-String "||="
      找到对应包后,升级该包或替换为兼容旧Node版本的替代包。
  • 调整tsup配置:如果tsup没正确转译语法,检查tsup.config.ts或tsup.config.js,添加目标环境配置强制转译:
    import { defineConfig } from 'tsup'
    
    export default defineConfig({
      target: 'es2020', // 指定低于ES2021的目标,让tsup转译||=
      // 其他原有配置...
    })
    

额外测试

先单独进入packages/ui目录执行pnpm run build,排除Turborepo全局配置的影响。如果单独执行也报错,重点排查该包的tsup配置和本地依赖;如果单独执行正常,再检查turbo.json中的构建命令是否有特殊参数干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:42:45