所以根据我在stackoverflow上给出的指令,我试图使用perlbrew在我的64位Solaris虚拟机上安装新版本的Perl,以便最终安装'cpanm'并安装CGI和DBI模块,如以及DBD :: Oracle驱动程序。这些是我遵循的步骤:
1)打开终端窗口并以 root 用户身份登录。然后安装以下软件包......
pkg install system/header
pkg install gcc-45
pkg install developer/build/gnu-make
pkg install archiver/gnu-tar
2)安装perlbrew ......
curl -kL http://install.perlbrew.pl | bash
3)接下来,打开〜/ .bash_profile或〜/ .profile并附加以下代码行。
vi ~/.bash_profile
或 vi ~/.profile
source ~/perl5/perlbrew/etc/bashrc
追加到文件末尾
source ~/perl5/perlbrew/etc/bashrc
。
4)开始安装新的Perl。
echo $PERLBREW_ROOT
- >这应该等于/ home / oracle / perl5 / perlbrew
perlbrew -v install perl-5.16.0 -Dcc=gcc
安装输出:
Test Summary Report
-------------------
../cpan/CGI/t/tmpdir.t (Wstat: 0 Tests: 9 Failed: 0)
TODO passed: 3, 6, 8
../cpan/Socket/t/getnameinfo.t (Wstat: 256 Tests: 14 Failed: 1)
Failed test: 10
Non-zero exit status: 1
Files=2334, Tests=522101, 1212 wallclock secs (90.50 usr 58.34 sys + 533.70 cusr 288.26 csys = 970.80 CPU)
Result: FAIL
*** Error code 1
make: Fatal error: Command failed for target `test_harness'
Installed /home/oracle/perl5/perlbrew/build/perl-5.16.0 as perl-5.16.0 successfully. Run the following command to switch to it.
perlbrew switch perl-5.16.0
perlbrew switch perl-5.16.0
但是,当我尝试切换到新的perl时,它会显示:perl-5.16.0 is not installed
。
所以我做了ls $PERLBREW_ROOT
并发现它包含 bin,build,build.log,Config.pm,dists等和 perls 目录。因此,我认为新的Perl应安装在 perls 目录中,但执行ls $PERLBREW_ROOT/perls
表示 perls 目录中没有任何内容。有没有人知道可能出现的问题?
答案 0 :(得分:3)
当它因测试失败而失败时,它误报了它。如果您认为测试失败是可以接受的,那么再次跳过测试运行它:
perlbrew -v install perl-5.16.0 --notest -Dcc=gcc
^^^^^^^^
这是失败的测试:
my $expect_host = gethostbyaddr( inet_aton( "127.0.0.1" ), AF_INET );
defined $expect_host or $expect_host = "127.0.0.1";
( $err, $host, $service ) = getnameinfo( pack_sockaddr_in( 80, inet_aton( "127.0.0.1" ) ), NI_NUMERICSERV );
is( $host, $expect_host, "\$host is $expect_host for NS" );
如果向上滚动日志输出,则会看到$host
和$expect_host
实际获得的值。