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

将GitLab仓库部署至Heroku时遇SyntaxError: Unexpected token .错误

解决GitLab部署Heroku时的SyntaxError: Unexpected token .

问题原因

错误出现在delete this.globalFlags?.json;这一行,提示Unexpected token .,核心原因是当前运行Heroku CLI的Node.js版本过低,不支持可选链操作符?.。该语法特性在Node.js 14.0.0及以上版本才被引入,而你的GitLab Runner环境使用的Node.js版本低于这个要求。

解决步骤

  • 升级GitLab CI/CD环境的Node.js版本:
    在.gitlab-ci.yml配置文件中,添加步骤指定使用支持?.的Node版本(推荐18.x及以上):

    before_script:
      - nvm install 18
      - nvm use 18
      - node --version # 验证版本是否符合要求
    

    若环境未安装nvm,可通过系统包管理器直接安装对应版本(例如Ubuntu系统执行apt-get install nodejs=18.*)。

  • 确保Heroku CLI与Node版本兼容:
    若之前通过brew安装的Heroku CLI绑定了旧版Node,可尝试用npm重新安装:

    npm uninstall -g heroku
    npm install -g heroku
    
  • 检查自托管Runner的全局Node版本:
    如果使用自托管GitLab Runner,直接在Runner服务器上升级Node.js到14.x及以上版本,确保全局环境满足要求。

验证

部署前先在CI环境中运行node --version,确认版本≥14.0.0,再执行Heroku部署命令即可避免该语法错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 20:42:07