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

生产环境使用wkhtmltopdf时出现Invalid platform错误

解决Alpine镜像下wicked-pdf依赖wkhtmltopdf不兼容问题

错误原因

wkhtmltopdf-binary gem未提供Alpine Linux对应的预编译二进制文件,当gem检测到当前运行环境为Alpine时,就会抛出平台不支持的错误。

解决方案

方案1:切换为Ubuntu-based Ruby镜像

直接替换Docker镜像为Ubuntu版本,和你的服务器系统(ubuntu-20.04)保持一致,完全适配wkhtmltopdf-binary支持的平台:

FROM ruby:2.7.1-ubuntu-20.04
# 后续构建步骤不变

方案2:在Alpine镜像中手动安装系统版wkhtmltopdf

放弃使用gem自带的二进制文件,改用Alpine包管理器安装的wkhtmltopdf:

  1. 在Dockerfile中添加依赖安装命令:
    RUN apk add --no-cache wkhtmltopdf libx11 libxrender libxext libssl1.1 ca-certificates
    
  2. 在Rails初始化文件中指定系统wkhtmltopdf的路径:
    # config/initializers/wicked_pdf.rb
    WickedPdf.config = {
      exe_path: '/usr/bin/wkhtmltopdf'
    }
    

方案3:使用Alpine兼容的wkhtmltopdf二进制gem

替换Gemfile中的wkhtmltopdf-binary为专门支持Alpine的版本:

# Gemfile
# 移除 gem 'wkhtmltopdf-binary'
gem 'wkhtmltopdf-binary-alpine'

然后执行bundle install更新依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 13:32:16