Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 方案redis不接受注册表部分::(或错误的主机名?)(URI::InvalidURIError)_Ruby On Rails_Ruby On Rails 4_Rspec_Rspec Rails - Fatal编程技术网

Ruby on rails 方案redis不接受注册表部分::(或错误的主机名?)(URI::InvalidURIError)

Ruby on rails 方案redis不接受注册表部分::(或错误的主机名?)(URI::InvalidURIError),ruby-on-rails,ruby-on-rails-4,rspec,rspec-rails,Ruby On Rails,Ruby On Rails 4,Rspec,Rspec Rails,我已经安装了Rspec并尝试运行模型的第一个测试,但是我得到了这个错误 .rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/uri/generic.rb:214:in `initialize': the scheme redis does not accept registry part: : (or bad hostname?) (URI::InvalidURIError) from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.

我已经安装了Rspec并尝试运行模型的第一个测试,但是我得到了这个错误

.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/uri/generic.rb:214:in `initialize': the scheme redis does not accept registry part: : (or bad hostname?) (URI::InvalidURIError)
  from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/uri/common.rb:218:in `new'
在测试开始运行之前。我正在我的项目中使用Redis和Sidekick。有人知道如何克服这个困难吗?谢谢

编辑:完全回溯

ewamarciniak$ bundle exec rspec spec/models/message_spec.rb
/Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/bundler-1.7.2/lib/bundler/runtime.rb:222: warning: Insecure world writable dir /usr in PATH, mode 040777
/Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/bundler-1.7.2/lib/bundler/runtime.rb:222: warning: Insecure world writable dir /usr in PATH, mode 040777
/Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/uri/generic.rb:214:in `initialize': the scheme redis does not accept registry part: : (or bad hostname?) (URI::InvalidURIError)
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/uri/common.rb:218:in `new'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/uri/common.rb:218:in `parse'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/uri/common.rb:747:in `parse'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/sidekiq-3.3.0/lib/sidekiq/redis_connection.rb:60:in `log_info'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/sidekiq-3.3.0/lib/sidekiq/redis_connection.rb:19:in `create'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/sidekiq-3.3.0/lib/sidekiq.rb:83:in `redis='
    from /Users/ewamarciniak/Documents/Projects/popdeem-server/config/initializers/sidekiq.rb:14:in `block in <top (required)>'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/sidekiq-3.3.0/lib/sidekiq.rb:63:in `configure_client'
    from /Users/ewamarciniak/Documents/Projects/popdeem-server/config/initializers/sidekiq.rb:13:in `<top (required)>'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:in `load'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:in `block in load'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:241:in `load'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/engine.rb:648:in `block in load_config_initializer'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/activesupport-4.1.1/lib/active_support/notifications.rb:161:in `instrument'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/engine.rb:647:in `load_config_initializer'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/engine.rb:612:in `block (2 levels) in <class:Engine>'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/engine.rb:611:in `each'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/engine.rb:611:in `block in <class:Engine>'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/initializable.rb:30:in `instance_exec'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/initializable.rb:30:in `run'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/initializable.rb:55:in `block in run_initializers'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:226:in `block in tsort_each'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:418:in `block (2 levels) in each_strongly_connected_component_from'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:427:in `each_strongly_connected_component_from'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:417:in `block in each_strongly_connected_component_from'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/initializable.rb:44:in `each'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/initializable.rb:44:in `tsort_each_child'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:411:in `call'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:411:in `each_strongly_connected_component_from'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:347:in `block in each_strongly_connected_component'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:345:in `each'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:345:in `call'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:345:in `each_strongly_connected_component'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:224:in `tsort_each'
    from /Users/ewamarciniak/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/tsort.rb:205:in `tsort_each'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/initializable.rb:54:in `run_initializers'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/application.rb:288:in `initialize!'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/railtie.rb:194:in `public_send'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/railties-4.1.1/lib/rails/railtie.rb:194:in `method_missing'
    from /Users/ewamarciniak/Documents/Projects/popdeem-server/config/environment.rb:5:in `<top (required)>'
    from /Users/ewamarciniak/Documents/Projects/popdeem-server/spec/rails_helper.rb:4:in `require'
    from /Users/ewamarciniak/Documents/Projects/popdeem-server/spec/rails_helper.rb:4:in `<top (required)>'
    from /Users/ewamarciniak/Documents/Projects/popdeem-server/spec/models/message_spec.rb:1:in `require'
    from /Users/ewamarciniak/Documents/Projects/popdeem-server/spec/models/message_spec.rb:1:in `<top (required)>'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/rspec-core-3.2.1/lib/rspec/core/configuration.rb:1226:in `load'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/rspec-core-3.2.1/lib/rspec/core/configuration.rb:1226:in `block in load_spec_files'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/rspec-core-3.2.1/lib/rspec/core/configuration.rb:1224:in `each'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/rspec-core-3.2.1/lib/rspec/core/configuration.rb:1224:in `load_spec_files'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/rspec-core-3.2.1/lib/rspec/core/runner.rb:97:in `setup'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/rspec-core-3.2.1/lib/rspec/core/runner.rb:85:in `run'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/rspec-core-3.2.1/lib/rspec/core/runner.rb:70:in `run'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/rspec-core-3.2.1/lib/rspec/core/runner.rb:38:in `invoke'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/gems/rspec-core-3.2.1/exe/rspec:4:in `<top (required)>'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/bin/rspec:23:in `load'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/bin/rspec:23:in `<main>'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `eval'
    from /Users/ewamarciniak/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `<main>'

redis\u config[:host]
redis\u config[:port]
nil
或空。您的
config/redis.yml

中似乎没有定义这些配置选项。您能提供完整的回溯吗?请检查
config/initializers/sidekiq.rb
中的sidekiq配置。您能更具体一点吗?我需要检查什么?需要您的
config/initializers/sidekiq.rb
的内容才能回答这个问题。@maxd我已经将初始值设定项的内容添加到原始消息中。我确实必须将测试配置添加到redis.yml文件中。
rails_root = Rails.root || File.dirname(__FILE__) + '/../..'
rails_env = Rails.env || 'development'

redis_config = YAML.load_file(rails_root.to_s + '/config/redis.yml')
redis_config.merge! redis_config.fetch(Rails.env, {})
redis_config.symbolize_keys!

Sidekiq.configure_server do |config|
  config.redis = { :url => "redis://#{redis_config[:host]}:#{redis_config[:port]}/12", :namespace => 'Sidekiq' }
end

Sidekiq.configure_client do |config|
  config.redis = { :url => "redis://#{redis_config[:host]}:#{redis_config[:port]}/12", :namespace => 'Sidekiq' }
end