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

迁移至Windows 11后使用vsce打包VS Code扩展失败求助

问题原因及解决方案

核心原因

??=是空值合并赋值运算符,属于ES2021语法特性,Node.js 14.x系列并不支持该运算符(Node.js 15.0.0及以上版本才正式提供支持)。

你遇到跨环境差异的具体原因:

  • Windows 10环境下,之前的依赖缓存或安装的undici库是兼容Node.js 14的旧版本,未使用该语法;
  • 迁移到Windows 11后,重新安装依赖时拉取了undici的新版本,该版本引入了Node.js 14不支持的??=语法,导致执行vsce package时触发SyntaxError;
  • 同时,vsce@2.14.0的依赖链中默认引入的undici版本已经不再兼容Node.js 14,这是触发问题的直接诱因。

解决方案

可选择以下任一方式解决:

  1. 升级Node.js版本:将Node.js升级到16.x及以上的LTS版本(Node.js 14已结束官方维护),新版本原生支持??=运算符,可直接解决语法兼容问题。
  2. 锁定undici兼容版本:在项目的package.json中添加版本锁定规则,强制使用兼容Node.js 14的undici版本:
    • 若使用yarn,直接添加:
      "resolutions": {
        "undici": "^5.20.0"
      }
      
    • 若使用npm,需先安装npm-force-resolutions工具,再添加上述resolutions字段,之后执行npm install。
  3. 降级vsce版本:将vsce降级到依赖兼容Node.js 14的旧版本,比如vsce@2.10.0,执行命令:
    npm install -g vsce@2.10.0
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 10:03:14