Ren*_*ato 3 linux perl yum padre
我试图升级Perl并将我的计算机弄得一团糟我正在运行RHEL6.5,64bits,这就是事情:
......一团糟开始了!
我放弃了Padre,并删除了与它相关的文件,以及我家主目录上安装的perl,但是我现在编写的一些perl脚本会抛出如下错误:
perl -cw "xmltest.pl" (in directory: /home/myid/scripts/xmltest.pl)
perl: symbol lookup error: /usr/lib64/perl5/auto/Data/Dumper/Dumper.so: undefined symbol: Perl_Istack_sp_ptr
Compilation failed.
Run Code Online (Sandbox Code Playgroud)
...和Data :: Dumper不是唯一的...每次我禁用其中一个模块,另一个模块以相同或相似的方式挂起
从我读到的内容来看,似乎这个问题与最初为一个perl版本安装的模块有关,并且被另一个版本调用,但是,我已经强制我使用的模块直接从CPAN重新安装,并且它们仍然失败
问题:如何安全地从当前的perl安装中解脱出来,并执行一个新的干净安装,能否使用它与这些版本冲突?
我主要担心的是我拥有的依赖于Perl的众多应用程序,而且我在卸载时没有破坏
任何帮助将非常感激.
你应该:
清理
~/.profile从任何不需要的路径清除(注释掉),等等$HOME(确保移动到安全的地方)relog,(注销,登录)
修复你的系统perl.那是意味着,
获得的经验教训:永远不要覆盖你的系统perl
学习
perlbrew.pl安装perlbrew
\wget -O - http://install.perlbrew.pl | bash~/.profile...(您需要在末尾添加一行)~/perl5/perlbrew/bin应该包含prelbrew和patchperl重新记录
设置新的perl,运行
perlbrew init #init environmentperlbrew available #show你可以安装什么perlperlbrew install 5.20.0 #will需要几分钟 - 取决于你的系统速度perlbrew install-cpanmperlbrew list #校验perlbrew switch perl-5.20.0 #activate新安装的perl 5.20检查您的安装
~/perl5/perlbrew/bin你应该有3个脚本:prelbrew,patchperl,cpanmperl -v 应该返回5.20type cpanm - 应该回来 ~/perl5/perlbrew/bin/cpanm你完成了.
您可以安装新模块cpanm,例如:
检查~/perl5/perlbrew/perls/perl-5.20.0/bin/新命令
您需要更新自己的 perl脚本的shebang行
#!/usr/bin/env perl
Run Code Online (Sandbox Code Playgroud)
我希望不要忘记任何事情,也许其他更有经验的perl-gurus会添加/编辑/纠正更多.
无论如何,在现实中,步骤5,6,7更容易听起来(通过阅读本文)并且可以在几分钟内完成.