helpyio / helpy

Helpy is a modern, open source helpdesk customer support application. Features include knowledgebase, community discussions and support tickets integrated with email.
http://helpy.io/?source=ghh
MIT License
2.36k stars 499 forks source link

Does not run on Ruby 2.7 #2068

Open jcb-entrnce opened 2 years ago

jcb-entrnce commented 2 years ago

Helpy does not appear to support Ruby 2.7. On an install that ran fine on Ruby 2.5, I'm getting various errors such as:

App 15729 output: Error: The application encountered the following error: undefined method `new_ostruct_member' for #<Config::Options> (NoMethodError)
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/config-1.1.1/lib/config/options.rb:149:in `block in __convert'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/config-1.1.1/lib/config/options.rb:147:in `each'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/config-1.1.1/lib/config/options.rb:147:in `__convert'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/config-1.1.1/lib/config/options.rb:65:in `reload!'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/config-1.1.1/lib/config.rb:37:in `load_files'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/config-1.1.1/lib/config.rb:45:in `load_and_set_settings'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/config-1.1.1/lib/config/integrations/rails/railtie.rb:19:in `preload'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/railtie.rb:194:in `public_send'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/railtie.rb:194:in `method_missing'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/config-1.1.1/lib/config/integrations/rails/railtie.rb:11:in `block in <class:Railtie>'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/activesupport-4.2.11.1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/activesupport-4.2.11.1/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/activesupport-4.2.11.1/lib/active_support/lazy_load_hooks.rb:44:in `each'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/activesupport-4.2.11.1/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
App 15729 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/application.rb:93:in `inherited'
App 15729 output:     /opt/xxxx/helpy/config/application.rb:11:in `<module:Helpy>'

and

App 14979 output: Error: The application encountered the following error: undefined method `new' for BigDecimal:Class (NoMethodError)
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/duplicable.rb:111:in `<class:BigDecimal>'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object/duplicable.rb:106:in `<top (required)>'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object.rb:3:in `require'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/activesupport-4.2.11.1/lib/active_support/core_ext/object.rb:3:in `<top (required)>'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/configuration.rb:2:in `require'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/configuration.rb:2:in `<top (required)>'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/railtie.rb:2:in `require'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/railtie.rb:2:in `<top (required)>'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/engine.rb:1:in `require'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/engine.rb:1:in `<top (required)>'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/application.rb:7:in `require'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/application.rb:7:in `<top (required)>'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails.rb:11:in `require'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails.rb:11:in `<top (required)>'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/all.rb:1:in `require'
App 14979 output:     /usr/local/rvm/gems/ruby-2.7.5/gems/railties-4.2.11.1/lib/rails/all.rb:1:in `<top (required)>'
App 14979 output:     /opt/xxxx/helpy/config/application.rb:3:in `require'
Pyo25 commented 1 year ago

You should fix BigDecimal version < 2:

gem 'bigdecimal', '1.4.4'

I also had to fix versions of other gems in :development group:

gem 'pry', '0.12.2'
gem 'rubocop', '0.83.0'