Perlbrew список и неправильный номер версии
Я установил две версии Perl, используя --as
(называя версию только с основным номером)
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 ответ
Решение
Потому что perlbrew проверяет наличие файла с именем
perls/*/.version
и использует его содержимое, чтобы определить, какая версия Perl установлена. Если файл не найден, он запускает исполняемый файл perl
perls/*/bin/perl
определить установленную версию и создает.version файл.
Команде upgrade-perl не удается обновить файл, поэтому при последующих запусках неправильно определяется установленная версия. Я подал отчет об ошибке