{"record":{"id":"2d1655bb3efea12f","repo":"mileszs/wicked_pdf","slug":"location-of-exe-name-unknown","errorCode":null,"errorMessage":"Location of #{EXE_NAME} unknown","messagePattern":"Location of #(.+?) unknown","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"lib/wicked_pdf/binary.rb","lineNumber":13,"sourceCode":"# frozen_string_literal: true\n\nclass WickedPdf\n  class Binary\n    EXE_NAME = 'wkhtmltopdf'\n\n    attr_reader :path, :default_version\n\n    def initialize(binary_path, default_version = WickedPdf::DEFAULT_BINARY_VERSION)\n      @path = binary_path || find_binary_path\n      @default_version = default_version\n\n      raise \"Location of #{EXE_NAME} unknown\" if @path.empty?\n      raise \"Bad #{EXE_NAME}'s path: #{@path}\" unless File.exist?(@path)\n      raise \"#{EXE_NAME} is not executable\" unless File.executable?(@path)\n    end\n\n    def version\n      @version ||= retrieve_binary_version\n    end\n\n    def parse_version_string(version_info)\n      match_data = /wkhtmltopdf\\s*(\\d*\\.\\d*\\.\\d*\\w*)/.match(version_info)\n      if match_data && (match_data.length == 2)\n        Gem::Version.new(match_data[1])\n      else\n        default_version\n      end\n    end\n\n    def xvfb_run_path","sourceCodeStart":1,"sourceCodeEnd":31,"githubUrl":"https://github.com/mileszs/wicked_pdf/blob/bce498de547cdf00d037fdbec29fae844d69ee8e/lib/wicked_pdf/binary.rb#L1-L31","documentation":"Error \"Location of #{EXE_NAME} unknown\" thrown in mileszs/wicked_pdf.","triggerScenarios":"Thrown at lib/wicked_pdf/binary.rb:13 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bce498de547cdf00d037fdbec29fae844d69ee8e","analyzedAt":"2026-08-23T09:58:24.694Z","schemaVersion":2},"datasetVersion":"2026-08-23T13:39:53.451Z"}