Search code examples
ruby-on-railsrubyresque

How to make a gem work with newer version of dependencies?


I am using resque gem and it requires sinatra (>= 0.9.2)

This installs Sinatra 1.0 gem which produces an error like loadError: cannot load such file -- rack/showexceptions

This is an issue fixed in Sinatra version 1.4.7, but I can't make resque to work with 1.4.7, even if version 1.4.7 is installed, bundle install still install version 1.0


Solution

  • Fork the project on GitHub. Replace the dependency version here. Run the test and if everything passes create a pull request.

    s.add_dependency "sinatra", ">= 0.9.2"
    
    # to this
    s.add_dependency "sinatra", "~> 1.4"
    

    Alternatively, you will have to your own gem and use it in your project. But that obviously has its disadvantages! That should be your last resort.