VirtualBox
上の CentOS7
で plenv install-cpanm
しようとしたら、肝心の cpanm
が ${HOME}/perl5/bin
以下に入る。
$ env | grep PERL
PERL5LIB=/home/bunzaemon/perl5/lib/perl5:
PERL_MB_OPT=--install_base /home/bunzaemon/perl5
PERL_LOCAL_LIB_ROOT=:/home/bunzaemon/perl5
PERL_MM_OPT=INSTALL_BASE=/home/bunzaemon/perl5
調べたら、身に覚えのない /etc/profile.d/perl-homedir.sh
なるファイルが原因。
$ cat /etc/profile.d/perl-homedir.sh
(略)
eval `perl -Mlocal::lib`
(略)
デフォルトで入っていたのか、後から入れたのについてきたのか?
検証する気力もわかない。
何に使ってるかわからないから、一応残して、手元の *shrc の先頭に
unset PERL5LIB
unset PERL_MB_OPT
unset PERL_LOCAL_LIB_ROOT
unset PERL_MM_OPT
を書いて対処
#追加メモ
20161024
追加の方が長いけど。
まず結論。
結局、調査してもしなくても、同じ結論。
普通に殺せばいい。
つか、丁寧に除去は出来ない。
$ cd /etc/profile.d
$ sudo mv perl-homedir.sh perl-homedir.sh.bak
もしくは、OSのインストール時に、Perlの設定を後回しにして、自分でセットアップする。
出所
perl-homedir.sh
が含まれているのは、↓
の perl-local-lib-1.008010-3.el7.src.rpm
これは、local::lib
とラッパ、パッチのパッケージ
$ rpm2cpio ../perl-local-lib-1.008010-3.el7.src.rpm| cpio -idv
local-lib-1.008009-Append-semicolon-to-setenv.patch
local-lib-1.008010-Fix-setting-undefined-variable-in-CSH.patch
local-lib-1.008010.tar.gz
perl-homedir.csh
perl-homedir.sh
perl-local-lib.spec
135 blocks
インストールした日付
$ rpm -qa --last | grep perl-home
私の場合、CentOS7
をインストールしたその日の日付。
要するに、インストールのときに全乗せでインストールした、自業自得の結果。
依存関係
$ rpm -qpR perl-local-lib-1.008010-3.el7.src.rpm
perl(Carp)
perl(Cwd)
perl(CPAN) >= 1.82
perl(ExtUtils::Install) >= 1.43
perl(ExtUtils::MakeMaker) >= 6.42
perl(File::Path)
perl(File::Spec)
perl(inc::Module::Install)
perl(Module::Build) >= 0.36
perl(Capture::Tiny)
perl(File::Temp)
perl(Test::More)
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
アンインストール
出来ないのは百も承知の上で、コマンドを叩いてみる。
$ sudo rpm -e perl-local-lib-1.008010-3.el7
エラー: 依存性の欠如:
perl(local::lib) は (インストール済み)perl-CPAN-0:1.9800-286.el7.noarch に必要とされています
perl-local-lib = 1.008010-3.el7 は (インストール済み)perl-homedir-1.008010-3.el7.noarch に必要とされています