July 06, 2005

FreeBSDのPerlバージョン

FreeBSD(4まで)には標準でPerlがインストールされていますが、このPerlはバージョンがかなり古いです。しかし別のバージョンのPerlを追加でインストールするとシステム標準の/usr/bin/perlと追加インストールした/usr/local/bin/perlのバージョンが異なることになってしまい、その後portsでPerlモジュールをインストールする時などいろいろと面倒。

と思っていたら、use.perlを使えばシンボリックリンクなどを張らなくても入れ替えられる事を教えてもらいました。目から鱗。Σ(゚Д゚)

ということで覚え書き。


# use.perl port

とすれば、/usr/bin/perl、/usr/local/bin/perl共にportsでインストールしたPerlのバージョンになり、


# use.perl system

とすればシステム標準のPerl(4系では5.005_03)に変化します。
※このコマンドを実行すると/etc/make.confが書き換わるようです。

当然のことながらモジュールも、しっかりとバージョンごとに異なるものを読んでくれます。

# perl -v

This is perl, v5.8.6 built for i386-freebsd-64int
(with 2 registered patches, see perl -V for more detail)

# perl -MJcode -e 'print $Jcode::VERSION'
0.88
# use.perl system
Removing stale symlinks from /usr/bin...
(略)
Done.
Cleaning up /etc/make.conf... Done.
Cleaning up /etc/manpath.config... Done.
# perl -v

This is perl, version 5.005_03 built for i386-freebsd

# perl -MJcode -e 'print $Jcode::VERSION'
0.83
# use.perl port
Removing stale symlinks from /usr/bin...
(略)
Done.
Cleaning up /etc/make.conf... Done.
Spamming /etc/make.conf... Done.
Cleaning up /etc/manpath.config... Done.
Spamming /etc/manpath.config... Done.
# perl -v

This is perl, v5.8.6 built for i386-freebsd-64int
(with 2 registered patches, see perl -V for more detail)



use.perlでバージョンが変化するのは「/usr/bin/perl」のようです。「/usr/local/bin/perl」は変化しませんでした。
なお、Perlをportsでなくソースからコンパイルした場合にはuse.perlは使えないので注意する必要があります。


参考
http://iris.homeunix.net/yayoi/freebsd/maintenance/perlup.asp

この記事へのトラックバックURL

http://app.blog.livedoor.jp/cpiblog00035/tb.cgi/27339660