Tag: cpanm



2012年 9月 24

perlbrewのインストール

Perlbrew
perlbrew

本家の手順でインストール&初期設定

$ curl -kL http://install.perlbrew.pl | bash
$ ~/perl5/perlbrew/bin/perlbrew init
$ echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.bashrc
$ source ~/.bashrc
エラーの対処

CentOS5.7で試していたところエラーが出た。
Use of uninitialized value in split at… は一時的なもの(perlをインストールすれば治る??)らしい。
manpath: invalid option — q は ~/perl5/perlbrew/etc/bashrc を修正することで治る。

Use of uninitialized value in split at /loader/0x84417f8/local/lib.pm line 8.
manpath: invalid option -- q
manpath, version 1.6d

usage: manpath [-adfhktwW] [section] [-M path] [-P pager] [-S list]
	[-m system] [-p string] name ...

参考:

cpanmのインストール

perlbrewを使ってcpanmを入れておけばバージョンごとにcpanmを入れなおさなくて済むので楽らしい。

$ perlbrew install-cpanm

参考:[まとめ] さくらのVPSで一気に perl の環境を整える – ワタブログ

その他

インストール先はGMOクラウドのVMだったのですが、perlをインストールするのにエラーで失敗していました。
結局DNSが名前解決できなかったのが原因だったのですが、CPAN等一部のドメインだけが名前解決できなかったので気がつくまで時間が掛かってしまいました…。
GoogleのpublicDNSサーバ(8.8.8.8)を使うことでとりあえず解決しましたが、デフォルトで設定してあるDNSサーバは一体…。


Filed under: perl,インストールメモ,開発環境

Trackback Uri






2011年 12月 15

MAMP

Apache+MySQLサーバをmacで動作させる事ができる。macにはもともとApacheもperlもインストールされているけど、バージョンが古いし、管理も面倒なのでMANPを使うメリットはおおいにあると思う。もともとはPHP+MySQLのローカル環境を構築するためのもの…かな?

参考:Mac OS Xのローカル環境(MAMP+MacPorts)で Movable Typeを動かしてみよう – 準備編  [ 09.06.24 update ] 【 gabs.log|おしゃべり好きなWEB制作者のたわごと 】

MAMPをインストール

MAMP

MAMPからダウンロードしてインストールする。

MacPortsのインストール

makeとか使うのでXCodeが必要。OSのバージョンにあったものをダウンロードする。

  • The MacPorts Project — Download & Installation
  • MacPortsの初期化&設定

    Terminalでコマンドを実行

    echo 'export PATH=$PATH:/opt/local/bin:/opt/local/sbin/' >> ~/.bashrc
    echo 'export MANPATH=$MANPATH:/opt/local/man' >> ~/.bashrc
    echo 'source ~/.bashrc' >> ~/.bash_profile
    sudo port -d selfupdate
    sudo port -d sync

    perlのPATHを変更

    元のperlをperl.bakにリネームして、シンボリックリンクを貼る。これをしておかないと元々インストールしてあるperl(/usr/bin/perl)を参照してしまうため。

    cd /usr/bin/
    sudo mv perl perl.bak
    sudo ln -s /opt/local/bin/perl /usr/bin/perl

    cpanmをインストール

    perlモジュールを簡単にインストールできるcpanmをインストールする。

  • ArtifactSauce: cpanmをMac OS Xにインストールする
  • sudoでインストールすると /opt/local/lib 以下にインストールされる。

    sudo cpanm Mojolicious
    or
    cpanm -S Mojolicious

    ユーザー権限でインストールした場合は、ホームディレクトリ ~/perl5/lib/ 以下にインストールされるので、この場合はPATHの指定が必要。コード側に書くか、あらかじめ設定しておく必要がある。
    Apacheのconfigに設定するのが吉かな?

    httpd.confに記述

    SetEnv PERL5LIB /Users/clicktx/perl5/lib/perl5
  • KMsWiki: Perl/@INC – Perlのライブラリの検索PATHを格納した配列のこと。 例えば、コマンド…
  • CGIでの環境変数PERL5LIBの設定 | OKWave
  • MAMPでCGI(perl)を実行できるようにする

    /Applications/MAMP/conf/apache/httpd.conf を編集する。自分の場合は /Applications/MAMP/htdocs以下全部で実行したいので以下の場所を変更。

    453行目付近

        #AddHandler cgi-script .cgi
        AddHandler cgi-script .cgi .pl .pm ←追記

    httpd.confを編集したらMANPを再起動して設定を反映させる。

    CGI実行テスト

    /アプリケーション/MAMP/htdocs/ に test.cgiを作成する。

    #!/usr/bin/env perl
    print "Content-type:text/html\n\n";
    print "Hello, World!\n";
    exit;

    test.cgi に実行権を与える。

    $ cd /Applications/MANP/htdocs
    $ chmod 700 test.cgi

    webブラウザで http://localhost/test.cgi にアクセスして表示されたら成功。

    ちなみにMAMPの読み方はまんpーでいいんじゃないでしょうか?


    Filed under: Mac,MySQL,プログラミング

    Trackback Uri






    2010年 6月 4

    App::cpanminusって?

    CPANをもっと簡単に使える様にするperlモジュール。
    参照:
    http://yellowstore.blogspot.com/2010/04/perlperlercpanminus.html

    インストール

    # cpan App::cpanminus

    または、

    cpan> install App::cpanminus

    2010-12-16追記
    他のインストール方法(CPANを設定しなくてもインストール出来る)
    perlモジュールのinstallにcpanmを使う|perl|@OMAKASE

    $ mkdir bin && cd ~/bin
    $ wget http://xrl.us/cpanm
    $ chmod +x cpanm
    
    ※環境によっては
    $ wget http://xrl.us/cpanm --no-check-certificate
    としないとダメな場合がある模様。CentOS5.5 x86_64環境では必要でした。

    cpanm と合わせて local::lib も入れておくと便利です

    $ cpanm local::lib

    使い方

    >大ブレイク中のPSGI実装Plackをインストールしてみました。

    と言う事で、自分も同じものを。

    # cpanm Plack
    Fetching http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/Plack-0.9938.tar.gz ... OK
    Configuring Plack-0.9938 ... OK
    ==> Found dependencies: Hash::MultiValue, Try::Tiny, Test::Requires, parent, HTTP::Body, Test::TCP, Filesys::Notify::Simple, File::ShareDir, Devel::StackTrace::AsHTML
    Fetching http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/Hash-MultiValue-0.08.tar.gz ... OK
    Configuring Hash-MultiValue-0.08 ... OK
    Building and testing Hash-MultiValue-0.08 for Hash::MultiValue ... OK
    Successfully installed Hash-MultiValue-0.08
    Fetching http://search.cpan.org/CPAN/authors/id/N/NU/NUFFIN/Try-Tiny-0.06.tar.gz ... OK
    Configuring Try-Tiny-0.06 ... OK
    Building and testing Try-Tiny-0.06 for Try::Tiny ... OK
    Successfully installed Try-Tiny-0.06
    Fetching http://search.cpan.org/CPAN/authors/id/T/TO/TOKUHIROM/Test-Requires-0.05.tar.gz ... OK
    Configuring Test-Requires-0.05 ... OK
    Building and testing Test-Requires-0.05 for Test::Requires ... OK
    Successfully installed Test-Requires-0.05
    Fetching http://search.cpan.org/CPAN/authors/id/C/CO/CORION/parent-0.223.tar.gz ... OK
    Configuring parent-0.223 ... OK
    Building and testing parent-0.223 for parent ... OK
    Successfully installed parent-0.223
    Fetching http://search.cpan.org/CPAN/authors/id/M/MR/MRAMBERG/HTTP-Body-1.07.tar.gz ... OK
    Configuring HTTP-Body-1.07 ... OK
    ==> Found dependencies: IO::File, Test::Deep
    Fetching http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/IO-1.25.tar.gz ... OK
    Configuring IO-1.25 ... OK
    Building and testing IO-1.25 for IO::File ... OK
    Successfully installed IO-1.25 (upgraded from 1.13)
    Fetching http://search.cpan.org/CPAN/authors/id/F/FD/FDALY/Test-Deep-0.106.tar.gz ... OK
    Configuring Test-Deep-0.106 ... OK
    ==> Found dependencies: Test::NoWarnings
    Fetching http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Test-NoWarnings-1.01.tar.gz ... OK
    Configuring Test-NoWarnings-1.01 ... OK
    Building and testing Test-NoWarnings-1.01 for Test::NoWarnings ... OK
    Successfully installed Test-NoWarnings-1.01
    Building and testing Test-Deep-0.106 for Test::Deep ... OK
    Successfully installed Test-Deep-0.106
    Building and testing HTTP-Body-1.07 for HTTP::Body ... OK
    Successfully installed HTTP-Body-1.07
    Fetching http://search.cpan.org/CPAN/authors/id/T/TO/TOKUHIROM/Test-TCP-0.16.tar.gz ... OK
    Configuring Test-TCP-0.16 ... OK
    ==> Found dependencies: Test::SharedFork
    Fetching http://search.cpan.org/CPAN/authors/id/T/TO/TOKUHIROM/Test-SharedFork-0.11.tar.gz ... OK
    Configuring Test-SharedFork-0.11 ... OK
    Building and testing Test-SharedFork-0.11 for Test::SharedFork ... OK
    Successfully installed Test-SharedFork-0.11
    Building and testing Test-TCP-0.16 for Test::TCP ... OK
    Successfully installed Test-TCP-0.16
    Fetching http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/Filesys-Notify-Simple-0.06.tar.gz ... OK
    Configuring Filesys-Notify-Simple-0.06 ... OK
    Building and testing Filesys-Notify-Simple-0.06 for Filesys::Notify::Simple ... OK
    Successfully installed Filesys-Notify-Simple-0.06
    Fetching http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/File-ShareDir-1.02.tar.gz ... OK
    Configuring File-ShareDir-1.02 ... OK
    ==> Found dependencies: Class::Inspector
    Fetching http://search.cpan.org/CPAN/authors/id/A/AD/ADAMK/Class-Inspector-1.24.tar.gz ... OK
    Configuring Class-Inspector-1.24 ... OK
    Building and testing Class-Inspector-1.24 for Class::Inspector ... OK
    Successfully installed Class-Inspector-1.24
    Building and testing File-ShareDir-1.02 for File::ShareDir ... OK
    Successfully installed File-ShareDir-1.02
    Fetching http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.09.tar.gz ... OK
    Configuring Devel-StackTrace-AsHTML-0.09 ... OK
    Building and testing Devel-StackTrace-AsHTML-0.09 for Devel::StackTrace::AsHTML ... OK
    Successfully installed Devel-StackTrace-AsHTML-0.09
    Building and testing Plack-0.9938 for Plack ... OK
    Successfully installed Plack-0.9938

    簡単ですね。


    Filed under: perlモジュール

    Trackback Uri