前提・実現したいこと
https://github.com/helpyio/helpy
上記のアプリをローカル環境(MacBookPro(13-inch, Mid 2012), Ruby2.5.0)で開発できる状態にしたいです。
また、同様の質問に対する回答でMacが古いからという理由もありそうでしたが、すぐに買い換えれる状況にないので、PC買い換えなしでエラーを解決したいです。
発生している問題・エラーメッセージ
Traceback (most recent call last): 23: from bin/rails:4:in `<main>' 22: from bin/rails:4:in `require' 21: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands.rb:17:in `<top (required)>' 20: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 19: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/commands_tasks.rb:73:in `server' 18: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/commands_tasks.rb:123:in `require_command!' 17: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/commands_tasks.rb:123:in `require' 16: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/server.rb:3:in `<top (required)>' 15: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/server.rb:3:in `require' 14: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actionpack-4.2.11.1/lib/action_dispatch.rb:29:in `<top (required)>' 13: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actionpack-4.2.11.1/lib/action_dispatch.rb:29:in `require' 12: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/rack-1.6.13/lib/rack.rb:12:in `<top (required)>' 11: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/rack-1.6.13/lib/rack.rb:95:in `<module:Rack>' 10: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/rack-1.6.13/lib/rack.rb:95:in `require' 9: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/rack-1.6.13/lib/rack/utils.rb:17:in `<top (required)>' 8: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/rack-1.6.13/lib/rack/utils.rb:17:in `require' 7: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/common.rb:13:in `<top (required)>' 6: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/common.rb:13:in `require' 5: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/rfc2396_parser.rb:13:in `<top (required)>' 4: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/rfc2396_parser.rb:13:in `require' 3: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri.rb:107:in `<top (required)>' 2: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri.rb:107:in `require' 1: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/ftp.rb:13:in `<top (required)>' /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/ftp.rb:266:in `<module:URI>': uninitialized class variable @@schemes in URI (NameError) rrcs-172-254-99-43:helpy user$ rails s Traceback (most recent call last): 23: from bin/rails:4:in `<main>' 22: from bin/rails:4:in `require' 21: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands.rb:17:in `<top (required)>' 20: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 19: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/commands_tasks.rb:73:in `server' 18: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/commands_tasks.rb:123:in `require_command!' 17: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/commands_tasks.rb:123:in `require' 16: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/server.rb:3:in `<top (required)>' 15: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/railties-4.2.11.1/lib/rails/commands/server.rb:3:in `require' 14: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actionpack-4.2.11.1/lib/action_dispatch.rb:29:in `<top (required)>' 13: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/actionpack-4.2.11.1/lib/action_dispatch.rb:29:in `require' 12: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/rack-1.6.13/lib/rack.rb:12:in `<top (required)>' 11: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/rack-1.6.13/lib/rack.rb:95:in `<module:Rack>' 10: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/rack-1.6.13/lib/rack.rb:95:in `require' 9: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/rack-1.6.13/lib/rack/utils.rb:17:in `<top (required)>' 8: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/rack-1.6.13/lib/rack/utils.rb:17:in `require' 7: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/common.rb:13:in `<top (required)>' 6: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/common.rb:13:in `require' 5: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/rfc2396_parser.rb:13:in `<top (required)>' 4: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/rfc2396_parser.rb:13:in `require' 3: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri.rb:107:in `<top (required)>' 2: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri.rb:107:in `require' 1: from /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/ftp.rb:13:in `<top (required)>' /Users/user/.rbenv/versions/2.5.0/lib/ruby/2.5.0/uri/ftp.rb:266:in `<module:URI>': uninitialized class variable @@schemes in URI (NameError)
該当のソースコード
ruby
1require 'uri/generic' 2require 'active_support/core_ext/module/aliasing' 3require 'active_support/core_ext/object/blank' 4require 'active_support/core_ext/hash/indifferent_access' 5 6module URI 7 class GID < Generic 8 # URI::GID encodes an app unique reference to a specific model as an URI. 9 # It has the components: app name, model class name, model id and params. 10 # All components except params are required. 11 # 12 # The URI format looks like "gid://app/model_name/model_id". 13 # 14 # Simple metadata can be stored in params. Useful if your app has multiple databases, 15 # for instance, and you need to find out which one to look up the model in. 16 # 17 # Params will be encoded as query parameters like so 18 # "gid://app/model_name/model_id?key=value&another_key=another_value". 19 # 20 # Params won't be typecast, they're always strings. 21 # For convenience params can be accessed using both strings and symbol keys. 22 # 23 # Multi value params aren't supported. Any params encoding multiple values under 24 # the same key will return only the last value. For example, when decoding 25 # params like "key=first_value&key=last_value" key will only be last_value. 26 # 27 # Read the documentation for +parse+, +create+ and +build+ for more. 28 alias :app :host 29 attr_reader :model_name, :model_id, :params 30 31 # Raised when creating a Global ID for a model without an id 32 class MissingModelIdError < URI::InvalidComponentError; end 33 34 class << self 35 # Validates +app+'s as URI hostnames containing only alphanumeric characters 36 # and hyphens. An ArgumentError is raised if +app+ is invalid. 37 # 38 # URI::GID.validate_app('bcx') # => 'bcx' 39 # URI::GID.validate_app('foo-bar') # => 'foo-bar' 40 # 41 # URI::GID.validate_app(nil) # => ArgumentError 42 # URI::GID.validate_app('foo/bar') # => ArgumentError 43 def validate_app(app) 44 parse("gid://#{app}/Model/1").app 45 rescue URI::Error 46 raise ArgumentError, 'Invalid app name. ' \ 47 'App names must be valid URI hostnames: alphanumeric and hyphen characters only.' 48 end 49 50 # Create a new URI::GID by parsing a gid string with argument check. 51 # 52 # URI::GID.parse 'gid://bcx/Person/1?key=value' 53 # 54 # This differs from URI() and URI.parse which do not check arguments. 55 # 56 # URI('gid://bcx') # => URI::GID instance 57 # URI.parse('gid://bcx') # => URI::GID instance 58 # URI::GID.parse('gid://bcx/') # => raises URI::InvalidComponentError 59 def parse(uri) 60 generic_components = URI.split(uri) << nil << true # nil parser, true arg_check 61 new(*generic_components) 62 end 63 64 # Shorthand to build a URI::GID from an app, a model and optional params. 65 # 66 # URI::GID.create('bcx', Person.find(5), database: 'superhumans') 67 def create(app, model, params = nil) 68 build app: app, model_name: model.class.name, model_id: model.id, params: params 69 end 70 71*一部省略 72 def validate_model_id(model_id, model_name) 73 return model_id unless model_id.blank? 74 75 raise MissingModelIdError, "Unable to create a Global ID for " \ 76 "#{model_name} without a model id." 77 end 78 79 def parse_query_params(query) 80 Hash[URI.decode_www_form(query)].with_indifferent_access if query 81 end 82 end 83 @@schemes['GID'] = GID 84end 85
試したこと
https://teratail.com/questions/233687
同様の質問があったので解決策全て試しましたが、エラー内容変わらずでした。
また、クラス変数@@schemesが初期化されていないというエラーなので、module URI内に
@@schemes = String.newや@@schemes =""
など初期化する記述を加えてみましたが、エラー内容変わらずでした。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/29 10:59 編集
2020/04/29 11:25
2020/04/29 12:56
2020/04/29 13:47