Tuesday, September 10, 2013

dlload for Highline::SystemExceptions::WinAPI

Ran across an issue with 1.6.19 of the highline GEM recently.  I'm supporting a cross platform development environment for two applications done in RoR.  I'm primarily working on Mac OS X while another developer is working under Windows.  We are using Ruby 1.8.7 on these applications.

I recently updated to a newer version of Capistrano and but when my colleague tried to use this update on her Windows setup she ran into an error starting up WEBrick

... system_extensions.rb:81: undefined method for 'dllload' for Highline::SystemExceptions::WinAPI:Module (NoMethodError)

Several posts suggested to update to a newer Ruby version which isn't currently an option.  It also appears that there will be other issues taking that route anyway.  So instead I opted to downgrade highline to version 1.6.12 which was reported in one post to resolve the issue.

To downgrade just update your Gemfile to use the specific version of highline.

# Force to specific version of highline to fix issue on
# Windows OS with highline version 1.6.19
gem 'highline', '1.6.12'

Then use bundle:

bundle update highline

This should get you up and running again.

No comments:

Post a Comment