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

Ubuntu 22下PeerTube v6.2.1启动失败:await保留字语法错误求助

PeerTube v6.2.1启动报错(SyntaxError: Unexpected reserved word)修复方案

问题分析

报错指向await registerOpentelemetryTracing();这个顶层await调用,Node.js v20.17.0本身支持顶层await,但该报错说明当前模块被当作CommonJS加载(CommonJS不支持顶层await),或者模块配置/启动方式存在问题。

修复步骤

  • 检查package.json的模块类型配置
    打开/var/www/peertube/versions/peertube-v6.2.1/package.json,确认根节点是否存在"type": "module"字段。如果没有,添加该字段:

    {
      "type": "module",
      // 其他原有字段...
    }
    
  • 调整启动命令的模块加载策略
    如果无法修改package.json,或者修改后仍报错,启动时强制指定ES模块加载:

    node --input-type=module /var/www/peertube/versions/peertube-v6.2.1/dist/server.js
    

    若使用systemd管理服务,修改对应的.service文件,将ExecStart行改为:

    ExecStart=/usr/bin/node --input-type=module /var/www/peertube/versions/peertube-v6.2.1/dist/server.js
    

    然后重启服务:

    sudo systemctl daemon-reload
    sudo systemctl restart peertube
    
  • 重新安装官方Node.js版本
    若当前Node.js版本存在兼容性问题,卸载现有版本后安装官方v20.17.0:

    sudo apt purge nodejs npm -y
    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
    sudo apt install nodejs -y
    

    验证版本:node -v,确认输出为v20.17.0。

  • 重新下载PeerTube安装包
    若安装包文件损坏,备份当前版本后重新下载解压:

    cd /var/www/peertube/versions
    sudo mv peertube-v6.2.1 peertube-v6.2.1-backup
    sudo wget https://github.com/Chocobozzz/PeerTube/releases/download/v6.2.1/peertube-v6.2.1.tar.xz
    sudo tar xvf peertube-v6.2.1.tar.xz
    sudo chown -R peertube:peertube peertube-v6.2.1
    

内容的提问来源于stack exchange,提问作者Кирпич Невзоров

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 23:57:35