![perlbrew 开关声称版本未安装](https://linux22.com/image/1591661/perlbrew%20%E5%BC%80%E5%85%B3%E5%A3%B0%E7%A7%B0%E7%89%88%E6%9C%AC%E6%9C%AA%E5%AE%89%E8%A3%85.png)
我正在尝试使用 perlbrew 将我的 perl 版本降级到 5.18.2。
安装成功终止(日志这里和这里),我可以运行二进制文件,它被列为已安装,当我再次尝试安装 5.18.2 时,perlbrew 抱怨它已经安装:
mb029:~ yueren$ perl5/perlbrew/perls/perl-5.18.2/bin/perl --version
This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-2level
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2013, 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.
mb029:~ yueren$ perlbrew list
perl-5.18.2
mb029:~ yueren$ perlbrew install --notest 5.18.2
ABORT: perl-5.18.2 is already installed.
但是,当我尝试切换到 5.18.2 时,perlbrew 抱怨它未安装:
mb029:~ yueren$ perlbrew switch 5.18.2
5.18.2 is not installed
有没有办法修复此行为,或者至少获得有关为什么 perlbrew switch 认为该版本未安装的更多信息?
编辑:抱歉,我错了。正确的做法是
perlbrew switch perl-5.18.2
答案1
Switch
模块已弃用。请参阅:perldoc
转变
Switch 有缺陷,应避免使用。您可能会发现 Perl 的新 given/when 功能是一个合适的替代品。有关更多信息,请参阅 perlsyn 中的 Switch 语句。
看:https://perldoc.perl.org/5.30.0/perlsyn.html#Switch-Statements