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

在Render部署NodeJS Web Service时遇“SyntaxError: Unexpected token '??='”错误

问题解决思路

这个错误是因为Render上运行的Node.js版本不支持??=(空值合并赋值运算符),该运算符属于ES2020语法,需要Node.js 15.0.0及以上版本(或14.17.0+)才能兼容。本地运行正常是因为你本地的Node版本满足语法要求,而Render默认配置的Node版本可能偏低。

以下是具体解决方法:

  • 指定Render使用的Node.js版本
    在项目根目录创建.nvmrc文件,写入你本地开发时用的Node版本(例如v16.18.0);或者在package.json中添加配置:

    "engines": {
      "node": ">=16.x"
    }
    

    配置后Render会自动安装指定版本的Node.js,支持该新语法特性。

  • 降级mongodb依赖版本
    如果不想调整Node版本,可以降级到未使用??=运算符的mongodb版本,比如^4.10.0(该版本及之前未引入这个语法)。修改package.json里的mongodb版本号后,重新部署项目。

  • 清理Render构建缓存
    进入Render项目的设置页面,找到"Clear build cache"选项,清除缓存后重新触发构建,避免因缓存导致依赖安装异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 05:23:10