gem install twitter…いやtwitter4r

twitterのつぶやきをはてな日記に投稿する・その2 - をゐなりのうしろむ記
スクリプトを使わせていただこうと思い、twitterライブラリをrubygemでインストール。

degas@debian:~$ sudo gem install twitter
When you HTTParty, you must party hard!
ERROR:  Error installing twitter:
	twitter requires oauth (= 0.3.4, runtime)

oauthってのが要るらしい。

degas@debian:~$ sudo gem install oauth
Successfully installed ruby-hmac-0.3.2
Successfully installed oauth-0.3.5
2 gems installed
Installing ri documentation for ruby-hmac-0.3.2...
Installing ri documentation for oauth-0.3.5...
Installing RDoc documentation for ruby-hmac-0.3.2...
Installing RDoc documentation for oauth-0.3.5...

再挑戦。

degas@debian:~$ sudo gem install twitter
ERROR:  Error installing twitter:
	twitter requires oauth (= 0.3.4, runtime)

あ、0.3.4以上じゃなく0.3.4が必要なのか。
調べてみると、--version '= *.*.*'という引数を付ければバージョン指定が出来るらしい。
ということでもう一度。

degas@debian:~$ sudo gem install oauth --version '= 0.3.4'
Successfully installed oauth-0.3.4
1 gem installed
Installing ri documentation for oauth-0.3.4...
Installing RDoc documentation for oauth-0.3.4...

再々挑戦。

degas@debian:~$ sudo gem install twitter
Successfully installed twitter-0.6.12
Successfully installed rubyforge-1.0.3
Successfully installed rake-0.8.7
3 gems installed
Installing ri documentation for twitter-0.6.12...
Installing ri documentation for rubyforge-1.0.3...
Installing ri documentation for rake-0.8.7...
Installing RDoc documentation for twitter-0.6.12...
Installing RDoc documentation for rubyforge-1.0.3...
Installing RDoc documentation for rake-0.8.7...

参考にした
http://blog.longkey1.net/archives/683
に従って、確認してみる。

degas@debian:~$ sudo gem list

*** LOCAL GEMS ***

crack (0.1.3)
hatenaapigraph (0.2.2)
hoe (1.8.2)
hpricot (0.6)
httparty (0.4.3)
mash (0.0.3)
mechanize (0.8.4)
oauth (0.3.5, 0.3.4)
rake (0.8.7, 0.8.3)
ruby-hmac (0.3.2)
rubyforge (1.0.3, 1.0.1)
twitter (0.6.12)

入りましたね。



しかしまちがい。
必要なのはtwitterライブラリじゃなく、twitter4rライブラリ。

twitterへのアクセスはmetar_rjtt等で前から使っているTwitter4Rを使います。
Twitterのつぶやきをはてな日記に投稿する - をゐなりのうしろむ記

間違えやすいよなぁ、絶対。

前回悩んでたサンプルコードが動く動かないの違いが分かった。
単純すぎて恥ずかしいけど(笑)。
どうやら使ってるライブラリが違うらしい。
twitter apirubyで使えるライブラリは3つくらいあるらしく、自分が使ってたのは
john nunemakerによるライブラリ http://twitter.rubyforge.org だった。
これからはこれとは違うライブラリ、twitter4r http://twitter4r.rubyforge.org/ を使っていこうと思う。
UT blog: Twitter crawler with ruby 2

ということで、念のため一旦twitterライブラリを削除。そしてtwitter4rをインストール。

degas@debian:~$ sudo gem uninstall twitter
Successfully uninstalled twitter-0.6.12
degas@debian:~$ sudo gem install twitter4r
Building native extensions.  This could take a while...
Successfully installed json-1.1.7
Successfully installed twitter4r-0.3.1
2 gems installed
Installing ri documentation for json-1.1.7...
Installing ri documentation for twitter4r-0.3.1...
Installing RDoc documentation for json-1.1.7...
Installing RDoc documentation for twitter4r-0.3.1...

もしかしたら↓で行った、rubygemsのアップデートも不要だったかも。まぁいいです。