perlbrewで全ユーザのperl環境を管理したい
ツイッターでつぶやいたらアドバイス頂いたので試してみた。
この方法でいいのかどうかは不安ですが一応手順をメモ。
要は、サーバ全体でのperlデフォルト環境をみんな一緒にしたかったということ。
/usr/bin/perl を直接変えちゃうのはいろいろ問題ありそうなので
/usr/local/bin/perl をperlbrewで管理するperlにしちゃえば良さそう。
perlbrewの設定
インストールは適当に App::perlbrew でOK。
ただ、全ユーザで使いたいのでみんなが見えるところに置かないといけない。
今回は /usr/local/perlbrew に置くことにする。
で、 perlbrew のルートを設定するわけだが
PERLBREW_ROOT という環境変数を使う。
以下はその設定の流れ。
cpan App::perlbrew echo "export PERLBREW_ROOT=/usr/local/perlbrew" >> ~/.bash_profile source ~/.bash_profile perlbrew init echo "source /usr/local/perlbrew/etc/bashrc" >> ~/.bash_profile source ~/.bash_profile perlbrew install perl-5.12.1 perlbrew switch perl-5.12.1
シンボリックリンクを張る
インストールされたのはperlbrewの下なので、
/usr/local/bin/perl にリンク張る。
ln -s /usr/local/perlbrew/bin/perl /usr/local/bin/perl
これで終了。
アップグレードする時もperlbrew使えば楽ちん!
余談
新しいperlを入れた時にcpanmとperlbrewをインストールしなおさないといけない、
というのは知ってたけど、
普通に以下のコマンドでインストールしなおそうとしてたら
cpanmで新しいロケーションにモジュールインストールされなくて
????ってなった。
cpanm App::cpanminus App::perlbrew
…まあよく考えたら、上記コマンドだと
cpanm自体が古い方のcpanmを使っているので
そりゃ新しい方にはインストールされないわな!
なのでインストールしなおすときは
wgetで取ってきてから入れなおしましょう。
wget http://bit.ly/cpanm perl cpanm App::cpanminus App::perlbrew