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

Github Bot部署Glitch遇Unexpected token ;错误及配置疑问

问题解决与疑问解答

核心错误原因

你遇到的SyntaxError: Unexpected token ;是因为Glitch的Node.js 10.24.1不兼容你安装的lru-cache@9.1.2版本。lru-cache从v7开始就要求Node.js >=12,v9更是要求Node.js >=16,而Node 10完全不支持该版本包中的语法特性,才会触发这个报错。

你的疑问解答

1. 本地构建后为何仍受Node版本影响?

TypeScript编译只处理你自己写的TS代码,把它转成兼容目标环境的JS,但node_modules里的第三方依赖包是直接安装的原始代码,不会被你的项目编译流程处理。这些依赖包会根据自身版本要求使用对应Node版本的语法,当运行环境(Glitch的Node10)不满足依赖的最低版本要求时,就会出现语法错误。

2. 部署到Glitch后是否还需使用SMEE通道?

不需要。Glitch会给你的项目分配一个公网可访问的URL(比如https://your-project-name.glitch.me),直接把这个URL加上路径/api/github/webhook填到GitHub App的Webhook配置里即可,SMEE只用于本地开发时没有公网IP的场景。

修复步骤

  1. 降级lru-cache到兼容Node10的版本:
    在项目根目录执行命令:

    npm install lru-cache@6.0.0
    

    或者修改package.json中的依赖版本,指定"lru-cache": "^6.0.0"后重新安装依赖。

  2. 确认Glitch环境变量配置:

    • 删除WEBHOOK_PROXY_URL,设置WEBHOOK_URL为你的Glitch项目URL + /api/github/webhook(比如https://your-project.glitch.me/api/github/webhook)
    • 保持WEBHOOK_SECRET和你在GitHub App中配置的一致
  3. 可选:尝试升级Glitch的Node版本:
    在package.json中添加engines字段:

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

    然后重启Glitch项目,部分Glitch计划支持自动安装指定版本的Node.js,如果不支持则只能用降级依赖的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:32:52