Notes to self

Running PhantomJS in Vagrant

Some time ago I came across a weird error when trying to run RSpec test suite involving PhantomJS in Vagrant. Here’s the solution.

The error in question is:

The detector #{@detector} failed to detect the version of the executable at '#{executable_path}

Here is the snipped of the failures:

139.3) Failure/Error:
                raw_version || raise(ArgumentError,
                                     "The detector #{@detector} failed to detect the" +
                                     "version of the executable at '#{executable_path}'")

              ArgumentError:
                The detector <struct Cliver::Detector command_arg=nil, version_pattern=nil> failed to detect theversion of the executable at '/usr/bin/phantomjs'


140) Document details management when visiting index secret_admin can see it
       Got 0 failures and 3 other errors:

       140.1) Failure/Error: visit new_user_session_path

              ArgumentError:
                The detector <struct Cliver::Detector command_arg=nil, version_pattern=nil> failed to detect theversion of the executable at '/usr/bin/phantomjs'

What helped me to fix it in the end was setting the QT_QPA_PLATFORM variable to offscreen:

vagrant$ QT_QPA_PLATFORM=offscreen rspec

You should also be able to pass the -platform offscreen option to the PhantomJS executable.

Work with me

I have some availability for contract work. I can be your fractional CTO, a Ruby on Rails engineer, or consultant. Write me at strzibny@strzibny.name.

RSS