如何使 gem 与更新版本的依赖项一起工作?

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

我正在使用 resque gem 它需要 sinatra (>= 0.9.2)

这会安装 Sinatra 1.0 gem,它会产生类似 loadError: cannot load such file -- rack/showexceptions

的错误

这是 Sinatra 1.4.7 版本中修复的问题,但我无法使 resque 与 1.4.7 一起使用,即使安装了 1.4.7 版本,bundle install 仍然安装 1.0 版本

在 GitHub 上分叉该项目。替换依赖版本here。 运行 测试,如果一切通过,则创建拉取请求。

s.add_dependency "sinatra", ">= 0.9.2"

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

或者,您必须拥有自己的 gem 并在您的项目中使用它。但这显然有其缺点!那应该是你最后的选择。