ruby - 自升级到 ruby​​ 3 以来,Shotgun 返回 ArgumentError

标签 ruby sinatra shotgun

我已升级到 ruby​​ 3,从那时起,shotgun 不会出现此错误:

== Shotgun/Thin on http://127.0.0.1:9393/
/home/thb/.rvm/gems/ruby-3.0.0/gems/thin-1.8.0/lib/rack/handler/thin.rb:11:in `run': wrong number of arguments (given 2, expected 1) (ArgumentError)
    from /home/thb/.rvm/gems/ruby-3.0.0/gems/shotgun-0.9.2/bin/shotgun:156:in `<top (required)>'
    from /home/thb/.rvm/gems/ruby-3.0.0/bin/shotgun:23:in `load'
    from /home/thb/.rvm/gems/ruby-3.0.0/bin/shotgun:23:in `<main>'
    from /home/thb/.rvm/gems/ruby-3.0.0/bin/ruby_executable_hooks:22:in `eval'
    from /home/thb/.rvm/gems/ruby-3.0.0/bin/ruby_executable_hooks:22:in `<main>'

还有其他人遇到过这种情况吗?有什么解决办法吗?

最佳答案

shotgun 在过去四年中没有更新。如果它支持 Ruby 3.0,我会感到非常惊讶。

实际上,有一个 PR open on GitHub修复了 Ruby 2.7 中近一年未合并的弃用警告。

我认为 shotgun gem 已经不再维护,并且会寻找替代品。当您仍然需要使用该 gem 时,您可能应该将 Ruby 版本降级到最新的 Ruby 2.6.6 版本。

关于ruby - 自升级到 ruby​​ 3 以来,Shotgun 返回 ArgumentError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65764990/

相关文章:

ruby - Shotgun 未使用适当的 ruby​​ 版本 (macosx)

ruby - Shotgun Gem 的问题 - RuntimeError

ruby-on-rails - Ruby on Rails - 无法将 "\x89"从 ASCII-8BIT 转换为 xxx/xxxx/xxxx 的 UTF-8

Ruby 数组和循环

ruby - 当我有多个带参数的方法时,如何使用页面对象导航路由?

twitter - Sinatra、Twitter 和 StringIO

ruby-on-rails - 定义自定义状态机

javascript - 对 Sinatra 应用程序的 Jquery Ajax 请求

ruby - Sinatra json 渲染没有按预期工作

python - Django 的霰弹枪?