Perlbrew列表和错误的版本号

时间:2014-09-15 08:15:13

标签: perl perlbrew

我使用--as安装了两个版本的Perl(仅使用主编号命名版本)

  • 5.20.0已安装为5.20
  • 线程安装为5.20.0
  • 5.20t

这是perlbrew list

的输出
* 5.20 (5.20.0)
  5.20t (5.20.0)

然后我使用

将Perl升级到5.20.1
$ perlbrew upgrade-perl
Upgrading 5.20 to 5.20.1
Installing /Users/corti/perl5/perlbrew/build/perl-5.20.1 into ~/perl5/perlbrew/perls/5.20

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

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

5.20 is successfully installed.

Perl似乎已正确升级( v5.20.1 ):

$ perl -version

This is perl 5, version 20, subversion 1 (v5.20.1) built for darwin-2level

Copyright 1987-2014, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

但是perlbrew list无法识别新版本,并且调用perlbrew upgrade-perl会再次升级

$ perlbrew list
* 5.20 (5.20.0)
  5.20t (5.20.0)

为什么perlbrew无法识别更新?

1 个答案:

答案 0 :(得分:2)

因为perlbrew会检查是否存在名为

的文件
perls/*/.version

并使用其内容来确定安装了哪个版本的Perl。如果找不到该文件,则会回退到运行perl可执行文件

perls/*/bin/perl

确定已安装的版本并创建.version文件。

upgrade-perl命令无法更新文件,因此后续运行无法正确检测已安装的版本。我已经提交了bug report