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

DevOps构建安装Pdftron时随机出现解压错误求助

解决WebViewer Downloader间歇性解压错误的思路

针对你在DevOps流水线中使用npx @pdftron/webviewer-downloader --path src/lib --v 8.4.0时出现的间歇性解压错误,结合你提到的GitHub问题修复情况,提供以下解决方向:

  • 强制使用最新版下载器:你指定了WebViewer的版本为8.4.0,但下载器本身可能有后续修复的版本。执行命令时明确指定下载器的最新版本,避免使用旧的有潜在问题的版本:

    npx @pdftron/webviewer-downloader@latest --path src/lib --v 8.4.0
    
  • 添加命令重试机制:间歇性错误大概率和网络波动、临时文件读写异常有关,在流水线脚本中加入重试逻辑,自动重试失败的下载解压操作:

    MAX_RETRIES=3
    RETRY_COUNT=0
    until npx @pdftron/webviewer-downloader@latest --path src/lib --v 8.4.0; do
      RETRY_COUNT=$((RETRY_COUNT+1))
      if [ $RETRY_COUNT -ge $MAX_RETRIES ]; then
        echo "下载解压重试失败,退出流程"
        exit 1
      fi
      echo "重试第 $RETRY_COUNT 次,等待5秒后执行..."
      sleep 5
    done
    
  • 绕过下载器,手动下载解压:直接从官方源获取WebViewer压缩包,手动完成解压步骤,规避下载器的解压逻辑问题,同时可利用流水线缓存优化速度:

    # 下载对应版本的压缩包
    wget https://download.pdftron.com/webviewer/8.4.0/webviewer.zip
    # 解压到指定路径
    unzip webviewer.zip -d src/lib
    # 清理临时压缩包
    rm webviewer.zip
    
  • 检查流水线环境资源:ubuntu-latest虚拟机的临时目录可能存在空间不足或权限问题,导致解压失败。先检查临时目录空间:

    df -h /tmp
    

    若空间不足,可自定义临时目录后再执行下载命令:

    export TMPDIR=/path/to/your/custom/tmp
    npx @pdftron/webviewer-downloader --path src/lib --v 8.4.0
    
  • 尝试切换Node版本:虽然Node14.x兼容WebViewer 8.4.0,但部分Node版本的内置解压模块可能存在稳定性问题,可尝试切换到Node16.x版本(仍兼容8.4.0)测试是否解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:45:43