到目前为止,我一直在使用系统perl(在Ubuntu 10.10上),我使用local :: lib在我的私人目录中安装CPAN模块〜/ perl5
当我试图使用perlbrew时,似乎他们彼此不了解.我使用perlbrew安装了perl-5.12.3但是当我使用perlbrew使用perl-5.12.3切换到它时,我仍然看到local :: lib设置的PERL5LIB和PERL_MM_OPT.
这不好:
$ cpan XML::Simple
/home/gabor/perl5/perlbrew/perls/perl-5.12.3/bin/perl: symbol lookup error: /home/gabor/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Cwd/Cwd.so: undefined symbol: Perl_Gthr_key_ptr
Run Code Online (Sandbox Code Playgroud)
而
$ which cpan
/home/gabor/perl5/perlbrew/perls/perl-5.12.3/bin/cpan
Run Code Online (Sandbox Code Playgroud)
所以它正在使用正确版本的cpan客户端,但是由于PERL5LIB环境变量,它会从错误的位置获取模块.
perlbrew是否具有某种兼容性模式,还是需要手动关闭PERL5LIB和PERL_MM_OPT?