airplay icon indicating copy to clipboard operation
airplay copied to clipboard

error in reel gem: uninitialized constant HTTP::Response::STATUS_CODES (NameError)

Open parke opened this issue 7 years ago • 6 comments

I just manually built and installed ruby.

$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

I then ran:

$ export GEM_HOME=$HOME/local/gems
$ gem install airplay
$ gem install airplay-cli

I had to install the package libavahi-compat-libdnssd-dev to provide the file dns_sd.h. I am running on Ubuntu 14.04. I have never used Ruby before. (One of the gems required Ruby 2, which is why I built Ruby manually. Ubuntu 14.04 comes with Ruby 1.9.)

air crashes after startup.

$ ./air list
I, [2016-08-12T16:14:53.078602 #2844]  INFO -- : Celluloid 0.17.3 is running in BACKPORTED mode. [ http://git.io/vJf3J ]
/home/bake/local/gems/gems/reel-0.5.0/lib/reel/response.rb:10:in `<class:Response>': uninitialized constant HTTP::Response::STATUS_CODES (NameError)
    from /home/bake/local/gems/gems/reel-0.5.0/lib/reel/response.rb:4:in `<module:Reel>'
    from /home/bake/local/gems/gems/reel-0.5.0/lib/reel/response.rb:3:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/reel-0.5.0/lib/reel.rb:12:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/reel-rack-0.2.3/lib/reel/rack/server.rb:3:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/reel-rack-0.2.3/lib/rack/handler/reel.rb:1:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/reel-rack-0.2.3/lib/reel/rack.rb:2:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/airplay-1.0.5/lib/airplay/server.rb:4:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/airplay-1.0.5/lib/airplay/player.rb:8:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/airplay-1.0.5/lib/airplay/playable.rb:1:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/airplay-1.0.5/lib/airplay/device.rb:2:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/airplay-1.0.5/lib/airplay/devices.rb:2:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/airplay-1.0.5/lib/airplay/browser.rb:5:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/airplay-1.0.5/lib/airplay.rb:2:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/airplay-1.0.5/lib/airplay/cli.rb:2:in `<top (required)>'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/local/bake/package/ruby/2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /home/bake/local/gems/gems/airplay-cli-1.0.3/bin/air:4:in `<top (required)>'
    from ./air:23:in `load'
    from ./air:23:in `<main>'

exit  1

Does anyone have any suggestions? Thanks!

parke avatar Aug 12 '16 23:08 parke

I also get this error

NullVoxPopuli avatar Sep 27 '16 18:09 NullVoxPopuli

+1

akras14 avatar Oct 15 '16 03:10 akras14

I'm getting the same error on Ubuntu 16.04

skerit avatar Oct 19 '16 20:10 skerit

Me too!

therimalaya avatar Jan 02 '17 18:01 therimalaya

Same error on OS X running ruby 2.3.0 using rvm.

sasikiran avatar Apr 25 '17 10:04 sasikiran

That's because HTTP::Response::STATUS_CODES has already been deprecated by http since 1.0.0. You can refer to the changelog of the http gem.

So the solution is pretty simple. Uninstall the http in your system, then install 0.9.9 specifically.

gem uninstall http
gem install http -v 0.9.9

digglife avatar Jun 16 '17 08:06 digglife