Perl Can';t定位开关.pm

Perl Can';t定位开关.pm,perl,perl-module,android-source,Perl,Perl Module,Android Source,如何解决此错误 Can't locate Switch.pm in @INC (you may need to install the Switch module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/li

如何解决此错误

Can't locate Switch.pm in @INC (you may need to install the Switch module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at external/webkit/Source/WebCore/make-hash-tools.pl line 23.
BEGIN failed--compilation aborted at external/webkit/Source/WebCore/make-hash-tools.pl line 23.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libwebcore_intermediates/Source/WebCore/html/DocTypeStrings.cpp] Error 2

我已经解决了这个问题,实际上我在android 4.2jellybean源代码中使用了14.04LTS。 在14.04中,必须安装开关模块。以下是安装步骤

1:使用下面的命令并配置为自动 $cpan应用程序::cpanminus

2:安装开关 $cpanm开关


注意:通过使用这两个命令,在我的Ubuntu14.04LTS中解决了这个问题……

在LinuxMint上,我必须键入

$ sudo apt-get install libswitch-perl

您可以通过安装“perl开关”来解决此错误

对于亚马逊Linux/Redhat/Centos/etc:

sudo yum install -y perl-Switch
对于Ubuntu:

sudo apt-get install -y libswitch-perl

出现此错误是因为系统上没有安装Switch.pm perl模块。安装它有两种方法,它们都可以在Ubuntu 14.04上运行

  • 通过Ubuntu存储库安装它

  • 通过CPAN安装.pm

  • 使用Ubuntu存储库安装Switch.pm: 在命令行中,可以通过从终端(Ctrl-Alt-t)运行以下命令来完成安装:

    使用CPAN安装Switch.pm: 如果您希望通过cpan安装,请遵循以下说明:

    Open a terminal(Ctrl-Alt-t).
    
    Enter the command cpan.
    
    At the prompt cpan[1]>, type install Switch.
    
    Once completed, Type exit.
    

    学分:

    如果只有一个perl版本

    sudo apt-get install libswitch-perl 
    
    可以解决这个问题

    但是,如果您的系统中有像我这样的多版本perl,请首先为aosp v4.x选择5.18版本,然后使用cpan命令install Swtich,如@4aRk Kn1gh7的答案

    还要注意,在一些perl脚本中,第一行是:

    #! /usr/bin/perl
    
    因此,请确保/usr/bin/perl是您选择的正确perl版本。

    如果您有mac:

    sudo cpan -f Switch
    

    local::lib
    选项对我不起作用。

    试试CPAN。在Fedora 25上对我有效

    cpan
    cpan[1]> install Switch
    

    你能至少试着描述一下你到底想做什么吗?这与Android有什么关系,您是否尝试在Android脚本环境中运行它?您是否尝试过按照错误消息本身所述安装交换机模块?对于遇到此问题的任何其他人,我在尝试执行AOSP Android构建时遇到了此问题。这就是它与Android的关系。我在FHEM中创建pilight_ctrl设备时收到此错误消息。@yurishi的回答在我的raspberry pi上为我修复了它。上面的命令也在我的Ubuntu 14.04 LTS上工作,并通过了错误。我得到一个错误:debconf:Perl可能未配置(无法在@INC中找到strict.pm(您可能需要安装strict模块)(@INC-contains:/etc/perlth此命令产生错误:debconf:Perl可能未配置(无法在@INC中找到strict.pm)(您可能需要安装strict模块)(@INC:/etc)/perl@JoseNobile我相信apt@IgorGanapolsky下面是几个可以应用的修复程序:@IgorGanapolsky您似乎没有安装perl包。请使用以下命令安装它:sudo apt get Install perl。
    cpan
    cpan[1]> install Switch