Rubyで「Twitter::Streaming」を使うとこんなエラーが出た
/usr/local/lib/ruby/gems/2.2.0/gems/twitter-5.15.0/lib/twitter/streaming/connection.rb:16:in `initialize’: Can’t assign requested address – connect(2) for “199.59.148.138” port (Errno::EADDRNOTAVAIL)
from /usr/local/lib/ruby/gems/2.2.0/gems/twitter-5.15.0/lib/twitter/streaming/connection.rb:16:in `new’
from /usr/local/lib/ruby/gems/2.2.0/gems/twitter-5.15.0/lib/twitter/streaming/connection.rb:16:in `stream’
from /usr/local/lib/ruby/gems/2.2.0/gems/twitter-5.15.0/lib/twitter/streaming/client.rb:119:in `request’
from /usr/local/lib/ruby/gems/2.2.0/gems/twitter-5.15.0/lib/twitter/streaming/client.rb:58:in `sample’
EADDRNOTAVAILっていうエラーの意味は知らないが、とにかくスゴイやつだ!
って事で、エラー箇所を見るとconnection.rbでエラーが出てるんだな。
マジかよ〜、ライブラリのバグかよぉ~・・・
gem install したtwitterのVerは5.15.0。これが最新でしょ?
古いVerにしないといけないのかな?
で、調べた。
GitHub
t stream timeline: connection refused #287
https://github.com/sferik/t/issues/287
→「fix mentioned in this thread: [#286 (comment)]」
↓
GitHub
t steam timeline error #286
https://github.com/sferik/t/issues/286#issuecomment-153067380
→「Ah. Here’s the real issue. There’s a fix documented here, it’s a small change to lib/twitter/streaming/connection.rb.」
↓
GitHub
determine port from uri scheme, closes #709
https://github.com/animeavi/twitter/commit/6d08c5932d3033d5b69537730e02ac5905775410
キターーーッ!!!!
これかっ!?これかっ!!?これなのかっ!!!?
ってか、まだリリースされてないのか?
自分で書き直すのはいいんだけど、これだけ書き直せばいいのかな?
他に関係しているソースに影響出ないのかな?
まぁいいや、まずはconnection.rbを書き直してみよう。(当然原本のバックアップは取っておく)
書き直してから自分のプログラムを実行したらすんなり動いた。
ヤッターー!!
◆gem install した twitter のバージョンの確認
$ gem list twitter
*** LOCAL GEMS ***
twitter (5.15.0)
◆emacsで読み取り専用を解除するには
C-x C-q
コメントを残す