我已经开始使用perlbrew并安装了perl-5.12.2.
我明白我需要重新安装我的CPAN模块,所以我切换到我的新Perl版本(perlbrew switch perl-5.12.2和hash -r),验证交换机是否成功(perl -v)然后尝试安装一些模块(File::Copy::Recursive使用cpan.但是,cpan说`File :: Copy :: Recursive是最新的(0.38).
当我使用这个模块启动一个Perl脚本时,它会大喊Can't locate File/Copy/Recursive.pm in @INC ...(显示许多perl-5.12.2位置).当我切换回我的'普通'Perl(perlbrew off)时,脚本运行正常.
有什么建议?也许CPAN效果不好perlbrew?
到目前为止,我一直在使用系统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?
我很喜欢它,但我怀疑它会引起一些问题.我知道我可以使用,perlbrew off但我想完全删除它.我怎么做?
我一直在使用perlbrew来管理Linux Fedora笔记本上的多个perl版本.我使用它非常有益,主要使用App :: cmd运行命令行脚本.
我现在想要使用安装在我的不同的perls中运行使用CGI :: Application编写的Web应用程序$HOME.我熟悉$HOME使用Apache 运行Perl Web应用程序user_dir或创建虚拟主机,但我无法想出一种简洁的方法来集成这个和perlbrew管理的perls.具体来说,我需要帮助理解并找到这些问题的答案:
感谢您的关注.
首先,一些背景.
perlbrew 是一个协助将Perl安装到非标准目录(通常在您的主目录下)的工具.
它还可以帮助您控制perl在交互式shell中执行时使用的Perl安装.使用perlbrew use和完成安装之间的切换perlbrew switch.perlbrew use只影响当前的shell,而perlbrew switch更永久.
$ perl -V:version | $ perl -V:version
version='5.20.0'; | version='5.20.0';
|
$ perlbrew use 5.18.2t | $ perlbrew switch 5.18.2t
|
$ perl -V:version | $ perl -V:version
version='5.18.2'; | version='5.18.2';
|
$ bash -ic 'perl -V:version' | $ bash -ic 'perl -V:version'
version='5.20.0'; | version='5.18.2';
Run Code Online (Sandbox Code Playgroud)
perlbrew off用于恢复使用系统Perl,但它是暂时的perlbrew use.有没有办法恢复到具有永久性的系统Perl perlbrew switch?
我在我的 xcode 中找不到 dyld 库错误。
dyld:库未加载:/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/libperl.dylib 引用自:/usr/bin/perl5.18
所以我尝试按照以下方式重新安装 perl。但是当它被下载时我在我的终端中收到以下错误消息
将 Perl 5.16.0 设置为默认 bash: line 94: perlbrew: command not found
所以我尝试如下安装 perlbrew,
\curl -L https://install.perlbrew.pl | bash
Run Code Online (Sandbox Code Playgroud)
但它提供了相同的 dyld 错误消息,如下所示,
dyld:库未加载:/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/libperl.dylib 引用自:/usr/bin/perl5.18
我怎样才能解决这个问题?
我正在尝试跟踪一个分段错误,我已经能够在不同版本的Perl上隔离几行代码.我使用perlbrew管理我的各种版本进行开发和测试,但它没有使用调试符号构建perl,因此使用gdb来分析核心转储文件是没有用的.
那么启用调试符号的perlbrew构建的最佳方法是什么.如果可能的话,我希望能够将它作为一个单独的perl,我可以切换到而不是覆盖相同版本的标准perl.
我perlbrew用来管理我的Perl环境.当我perlbrew按照文档第一次安装时,它安装了所有内容~/perl5/perlbrew,我现在觉得不合适.
文件说明:
目录〜/ perl5/perlbrew将包含所有安装perl可执行文件,库,文档,lib,site_libs.在文档中,该目录称为"perlbrew root".如果您需要将其设置为其他位置,因为您的HOME具有有限的配额,您可以通过在运行安装程序之前设置PERLBREW_ROOT环境变量来实现:
Run Code Online (Sandbox Code Playgroud)export PERLBREW_ROOT=/opt/perl5/perlbrew curl -kL http://install.perlbrew.pl | bash
问题:如何移动PERLBREW_ROOT目录/opt/perl5/perlbrew而不是~/perl5/perlbrew?
Perlbrew默认Perl安装,没有线程支持.这只是一个遗留习惯还是带有线程支持的Perl安装会产生问题?
当我尝试在Mac OS X v10.9(Mavericks)和MacPorts上安装perlbrew时,会发生以下情况:
~$ curl -L http://install.perlbrew.pl | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 315 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 1020 100 1020 0 0 649 0 0:00:01 0:00:01 --:--:-- 3217
## Download the latest perlbrew
## Installing perlbrew
perlbrew is installed: ~/perl5/perlbrew/bin/perlbrew
perlbrew root (~/perl5/perlbrew) is initialized.
Append the following piece of …Run Code Online (Sandbox Code Playgroud)