運用環境で wkhtmltopdf を使用すると、無効なプラットフォーム エラーが発生する
概要
PDF 生成に wicked-pdf を使用するアプリをデプロイしましたが、動作させることができません。私のサーバーはubuntu-20.04を使用しており、以下のエラーが発生します(ruby:2.7.1-alpineを使用しています)
/usr/local/bundle/gems/wkhtmltopdf-binary-0.12.6.6/bin/wkhtmltopdf:69:in `<main>': Invalid platform, must be running on Ubuntu 16.04/18.04/20.04/22.04, CentOS 6/7/8, Debian 9/10, Archlinux amd64, or Intel-based Cocoa macOS (missing binary: /usr/local/bundle/gems/wkhtmltopdf-binary-0.12.6.6/bin/wkhtmltopdf_alpine_3.12.0_amd64). (RuntimeError)
解決策
次の行を dockerfile に追加して修正しました。
RUN apk --no-cache add wkhtmltopdf ttf-ubuntu-font-family
そして config/initializers/wicked_pdf.rb を更新します
require "wicked_pdf"
WickedPdf.config = {
exe_path: '/usr/bin/wkhtmltopdf'
}