Can’t locate Net/Twitter/Role/API/RESTv1_1.pmのエラー
PerlでNet::Twitterを使う時に起こったエラー。
apt-get install libnet-twitter-perl
上記でNet::Twitterを読み込んでもエラーは出ないけど、以下のエラーが出る。
Can’t locate Net/Twitter/Role/API/RESTv1_1.pm in @INC (@INC contains: /etc/perl……
API1.1を使わないとTwitter投稿はできないわけで、RESTv1_1を使えないと困るのでなんとかしないといけない。
色々検索すると、Crypt::SSLeayが必須っぽいので(SSL通信しないといけない)
apt-get install libcrypt-ssleay-perl
を実行してインストール。
その後、一旦、Net::Twitterを削除
apt-get remove libnet-twitter-perl
purgeはしないでおく。autoremoveもしないでおく。
Net::Twitter:Liteをインストール。(意味があるかどうかはしらない)
apt-get install libnet-twitter-lite-perl
Net::Twitterを再度インストール。
apt-get install libnet-twitter-lite-perl
ここまでやってみたけど、RTSTv1_1.pmはでてこない。
そんな中、上記のやる前にCPAN経由でインストールも試してたりしたんですが、全然できず。
でも、makeの時に/usr/share~のPerlディレクトリ内にあるDistribution.pmをコンパイルしようとして、そんなファイルとディレクトリはありませんというエラー。
そこ変だなあ、おかしいなあ、shareディレクトリ内には無いのに、って思いながら検索してたらなんか引っかかりました。
日本語だからなんか引っかかってる、という。
その通りに、env LANG=Cを頭につけてCPAN起動してみる。
env LANG=C perl -MCPAM -e shell
cpan[1]> install Net::Twitter
(中略)
MMIMS/Net-Twitter-4.01004.tar.gz ./Build test — OK
(中略)
MMIMS/Net-Twitter-4.01004.tar.gz ./Build install — OK
cpan[2]>
おお……はいった……。
ただ、Crypt::SSLeay入れた後にはenv LANG=Cなしでやっては居なかったので、やっぱりこれだったかも。
Net::Twitterいれるときは、先にCrypt::SSLeayを入れよう。
インストールする時は、日本語環境の場合は、env LANG=Cを頭につけて実行しよう。
前のサーバで同じUbuntu12.04の環境で動いてたのに動かないはずがないとおもったのでがn
Windows7でWebdav接続するとめっちゃ重い Windows:32bitアプリケーションを、64bitOSで動かす場合のメモリ