我正在尝试使用 perlbrew 来安装一些较旧的 Perls。我相信由于旧式版本号而失败。根据 perlbrew available :

  perl-5.14.3-RC1
  perl-5.16.1
  perl-5.14.2
  perl-5.12.4
  perl-5.10.1
  perl-5.8.9
  perl-5.6.2
  perl5.005_04
  perl5.004_05
  perl5.003_07

但是,当我运行 perlbrew install perl5.003_07 时,我得到:
 Unknown installation target "perl5.003_07", abort. Please see
 `perlbrew help` for the instruction on using the install command.

如果我通过提供指向 tarball 的直接链接来尝试,例如perlbrew install http://www.cpan.org/src/5.0/perl5.005_03.tar.gz ,它会下载 tarball 但解析版本号的正则表达式失败:
Use of uninitialized value $dist_version in concatenation (.) or string at /usr/local/share/perl5/App/perlbrew.pm line 686.
Fetching perl- as /home/cpanci/perl5/perlbrew/dists/perl5.005_03.tar.gz
Use of uninitialized value $dist_version in pattern match (m//) at /usr/local/share/perl5/App/perlbrew.pm line 925.
Installing /home/cpanci/perl5/perlbrew/build/perl5.005_03 into ~/perl5/perlbrew/perls/perl-

This could take a while. You can run the following command on another shell to track the status:

  tail -f ~/perl5/perlbrew/build.perl-.log

Use of uninitialized value $dist_version in pattern match (m//) at /usr/local/share/perl5/App/perlbrew.pm line 952.
Use of uninitialized value $dist_version in pattern match (m//) at /usr/local/share/perl5/App/perlbrew.pm line 969.

Installing /home/cpanci/perl5/perlbrew/build/perl5.005_03 failed. Read /home/cpanci/perl5/perlbrew/build.perl-.log to spot any
issues.

有任何想法吗?它适用于较新的 perls。

这是 App::perlbrew 0.52 版。

最佳答案

我认为你不得不破解 perlbrew。我可以通过重命名 tarball perl-5.5.3.tar.gz 并在 perl5/perlbrew/build 中创建符号链接(symbolic link)来获得一些方法,如下所示:

lrwxrwxrwx  1 darch users   12 Oct  8 14:16 perl-5.5.3 -> perl5.005_03

,但此时它会尝试使用它不理解的选项运行 5.5.3 的 Configure。在我看来,实际上并不支持尝试使用 perlbrew 构建这样的旧 Perls,因为它确实很高兴地列出了它们。

关于perl - 使用 Perlbrew 安装古老的 perls,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12788174/

10-12 00:43