概要
每次打开终端都会提示
Can‘t locate local/lib.pm in @INC...
查了些资料,应该是local::lib这个perl的库的问题,它可以使用户拥有自己的库,而且会自动在主目录下创建以下格式的目录:
/home/user/perl5
所以只要不加载这个local::lib库就可以解决问题!
如何不加载local::lib
我试了网上能百度到的各种办法:
- 安装缺失的库
pass,因为我没有sudo权限 😦 - 找到.bashrc/.cshrc中的
eval `perl -I$HOME/perl5/lib -Mlocal::lib`
并删除
pass,笑死,根本找不到 😦 - 在.bashrc/.cshrc中添加
eval `perl -I$HOME/perl5/lib/perl5 -Mlocal::lib=--shelltype=csh,--deactivate`
加了,但完全不起作用 😦
还是得想其他办法
于是我去看了csh启动时的配置加载过程:
/etc/csh.login
~/.login
/etc/csh.cshrc
~/.cshrc
然后在csh.login中看到,csh启动时会读取/etc/profile.d/
文件夹下的配置文件,而这些配置文件中有一个是perl-homedir.csh
,就是在这个文件中启动了local::lib!
根据该文件的注释提示,在用户主目录下新建文件.perl-homedir
,内容为:
PERL_HOMEDIR=0
重新打开终端,可以发现不再出现无法找到lib.pm的错误。
大功告成!!!