ListPodというサービスをご存知でしょうか。僕はついさっき知りました :)
今からでも、遅くないはず、ということで早速使ってみようとしたのですが…
YouTubeの"402 Payment Required"と戦うために「listpod-app-lite」
http://yusukebe.com/archives/10/03/15/183556.html
一つのサービスに集中していたダウンロードという機能、いやむしろListPodそのものを分散させる、つまり使いたい人の手元で動作するクライアントアプリケーションにすればいいのです。
てなわけで、前置きが長くなりましたが、 ListPodは死んだので、listpod-app-liteってのを作ってみたよ!
えー!もうListPodが使えない?!
諦めるのはまだ早いです。listpod-app-liteを使えばListPodが使えるようになるみたいなので、早速インストールして、ListPodを復活させましょう!
listpod-app-liteはPerlで書かれています。Perlを使い始めて2、3ヶ月のド素人でもインストールすることができるのでしょうか?
追記
今の時代、perl Makefile.PL
している人なんていないと思うので、cpanmを使ってListPod-App-Liteをインストールしましょう。
cpanmをインストールする
% curl -LO http://cpanmin.us/これで、cpanmコマンドが使えるようになります。
% perl cpanm App::cpanminus
ListPod-App-Liteをインストールする
% cpanm Module::Install
% cpanm Module::Install::AuthorTests Module::Install::Repository
% cpanm http://github.com/yusukebe/ListPod-App-Lite/tarball/master
ListPod-App-Liteを実行する
% listpod-app-lite以上で、ListPod-App-Liteが使えるようになります。
HTTP::Server::PSGI: Accepting connections at http://0:5000/
* * *
環境
- Mac OS X 10.6 Snow leopard
- Perl 5.10.0
モジュールのインストール
まずは必要なモジュールをCPANでインストールしていきます。
$ sudo cpancpan shell -- CPAN exploration and modules installation (v1.9402)
Enter 'h' for help.cpan> install Module::Install
cpan> install Module::Install::AuthorTests
cpan> install Module::Install::Repository
cpan> install LWP::UserAgent
cpan> install Text::MicroTemplate
cpan> install Plack
cpan> install Pod::Usage
cpan> install Getopt::Long
cpan> install AnyEvent
cpan> install Plack::Server::AnyEvent
cpan> install Test::Spelling
cpan> install Test::Perl::Critic
cpan> install Test::Pod
cpan> q
- Module::InstallやPlackのインストールには少し時間がかかるので注意
- Module::Install::AuthorTestsとModule::Install::Repositoryをインストールしないといけないのが分からなくて30分くらい悩んだ
それらのモジュールをインストールしないとperl Makefile.PLできず、エラーを吐きます。
$ perl Makefile.PL
include /Users/akiyama/Desktop/ListPod-App-Lite/inc/Module/Install.pm
String found where operator expected at Makefile.PL line 18, near "author_tests 'xt'"
(Do you need to predeclare author_tests?)
syntax error at Makefile.PL line 18, near "author_tests 'xt'"
Bareword "auto_set_repository" not allowed while "strict subs" in use at Makefile.PL line 21.
Execution of Makefile.PL aborted due to compilation errors.
- AnyEventとPlack::Server::AnyEventはインストール不要
listpod-app-liteのインストール
$ git clone git://github.com/yusukebe/ListPod-App-Lite.git
$ cd ListPod-App-Lite
$ perl Makefile.PL
$ make
$ sudo make install
- gitコマンドが入っていない場合は、http://github.com/yusukebe/ListPod-App-Liteからソースコードをダウンロード
listpod-app-liteを実行
$ listpod-app-lite
HTTP::Server::PSGI: Accepting connections at http://0:5000/
ListPodが復活しました!これで使い放題ですね!
ちなみに
- Makefile.PLを読む癖がついた
モジュールのインストールは一見、難しいように思えますが、Makefile.PLを読めばどのモジュールが必要か書かれているので、それに従ってモジュールをインストールするだけです。
ド素人でもMakefile.PLを読めば簡単にできる!
- Plack::Handler::AnyEvent?
要求されているのはPlack::Handler::AnyEventなのですが、そのようなモジュールはCPANにはなく、Plack::Server::AnyEventで同じようなモジュールが入るみたいです。いまいち、よく分かりません…。
最後に
ListPodとlistpod-app-liteの作者であるyusukebeさんに感謝です。
yusukebeさん応援してます :)