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

HapiJS实践项目运行node server.js时出现SyntaxError异常求助

解决HapiJS启动时的SyntaxError: Unexpected token =问题

嘿,这个问题我之前折腾Hapi的时候也遇到过,大概率是Node.js版本不兼容导致的,给你梳理下原因和具体的排查解决步骤:

问题根源

你看到的SyntaxError: Unexpected token =出现在/node_modules/hapi/lib/server.js:107,基本是因为你当前安装的HapiJS版本用到了较新的JS语法——比如类字段声明(就是在class里直接写property = 初始值这种写法),但你的Node.js版本太旧,还不支持这个特性。

HapiJS的不同版本对Node的版本要求卡得很严:

  • 要是你装的是@hapi/hapi(Hapi后来迁移到了@hapi命名空间)v20及以上,得用Node.js v16.11+;
  • v19版本要求Node v14.15+;
  • v18版本至少要Node v12.10+;
  • 更老的v17及以下版本,对Node的要求会更低一些。

排查&解决步骤

  1. 先查自己的Node版本
    打开终端敲这个命令,看看当前用的Node版本:

    node -v
    

    对比下上面的版本要求,一眼就能看出是不是版本不够。

  2. 两种修复方案任你选

    • 方案一:升级Node.js(推荐)
      用nvm(Node版本管理器)来切换版本最方便,不会影响其他项目:

      # 先装nvm(如果还没装的话)
      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
      # 安装符合要求的Node版本,比如v18
      nvm install 18
      # 切换到这个版本
      nvm use 18
      

      升级完再启动项目试试。

    • 方案二:降级Hapi到兼容版本
      要是不想升级Node,就把Hapi换成和你当前Node版本匹配的旧版本。比如你现在用的是Node v10,那就装Hapi v17:

      npm uninstall @hapi/hapi
      npm install @hapi/hapi@17
      
  3. 额外排查:依赖缓存问题
    有时候依赖安装时的缓存也会搞出奇怪的问题,可以试试删除node_modules和锁文件后重新安装:

    rm -rf node_modules package-lock.json
    npm install
    

做完上面的步骤,再执行node server.js应该就能正常启动了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:56:00