mileszs/wicked_pdf · error · RuntimeError

#{EXE_NAME} is not executable

Error message

#{EXE_NAME} is not executable

What it means

Error "#{EXE_NAME} is not executable" thrown in mileszs/wicked_pdf.

Source

Thrown at lib/wicked_pdf/binary.rb:15

# frozen_string_literal: true

class WickedPdf
  class Binary
    EXE_NAME = 'wkhtmltopdf'

    attr_reader :path, :default_version

    def initialize(binary_path, default_version = WickedPdf::DEFAULT_BINARY_VERSION)
      @path = binary_path || find_binary_path
      @default_version = default_version

      raise "Location of #{EXE_NAME} unknown" if @path.empty?
      raise "Bad #{EXE_NAME}'s path: #{@path}" unless File.exist?(@path)
      raise "#{EXE_NAME} is not executable" unless File.executable?(@path)
    end

    def version
      @version ||= retrieve_binary_version
    end

    def parse_version_string(version_info)
      match_data = /wkhtmltopdf\s*(\d*\.\d*\.\d*\w*)/.match(version_info)
      if match_data && (match_data.length == 2)
        Gem::Version.new(match_data[1])
      else
        default_version
      end
    end

    def xvfb_run_path
      path = possible_binary_locations.map { |l| File.expand_path("#{l}/xvfb-run") }.find { |location| File.exist?(location) }
      raise StandardError, 'Could not find binary xvfb-run on the system.' unless path

View on GitHub (pinned to bce498de54)

When it happens

Trigger: Thrown at lib/wicked_pdf/binary.rb:15 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of mileszs/wicked_pdf@bce498de54 (2026-08-23). Data as JSON: /api/errors/56f5a815af9cccd7. Report an issue: GitHub.