以前使っていて特に不満はなかったのだが諸事情により解約したVPSを再度契約した。
レンタルサーバにしようか、VPSにしようか迷ったのだが、480円しか違わないのでお勉強のためも兼ねようと、VPSにした。
twitterのbotを復活させようとしてNet::Twitterを入れようと、いつものようにやったらエラーになった。
[hoge]# perl -MCPAN -e shell Can't locate CPAN.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .). BEGIN failed--compilation aborted.
調べるとモジュールのインストールが必要とのことだった。
yum install perl-CPAN
いつもおまじないのように実行していたが、モジュールを使っていたんだね。
さて、前に動かしていたbotが動かない。tweetができない。ascii文字とリテラルならいけるが、ファイルから読み込んだutf8の日本語がtweetできない。
自宅にあるcentosで、同じスクリプトが動いている。
Encodeのバージョンが、動かないVPSの方が新しい。
Centosはともに6.3だが、VPSは64ビット版、家は32ビット。
Perlのバージョンは同じ。
Net::Twitterも同じ。
Encodeのバージョンが違うというのが一番あやしい。下げてみようか・・・
でもそれより、動いているスクリプトがおかしくて、本来よくないやり方なのがたまたま動いていた、という問題な気がする・・・・
Net::Twitter::Liteにしたらうまくいった・・・。
原因は不明。
あー時間を空費した。
その後・・・
今度はblockしているユーザの一覧とその解除をする、OAuthを使うcgiを動かしたらこれも動かない・・・
最近apiの仕様が変わったという話は聞いていたが、そんな問題じゃない感じがする・・・
あれこれやってもどうしてもわからず、access token等を直接書いてblockしているユーザーを表示するスクリプトを動かしてみたら、数十秒かかる。
なんだこれ・・・