Perl EPIC 无法识别已安装的 CPAN 模块

Perl EPIC 无法识别已安装的 CPAN 模块

在 Mac 上,Eclipse 可以很好地添加新模块,直到我安装了Text::CSV_XSEclips 无法识别的模块,@INC例如

use strict;
use SOAP::Transport::HTTP;

SOAP::Transport::HTTP::CGI->dispatch_to('C2FService')->handle;

BEGIN {

    package C2FService;
    use vars qw(@ISA);
    @ISA = qw(Exporter SOAP::Server::Parameters);
    use SOAP::Lite;

    sub c2f {
        my $self     = shift;
        my $envelope = pop;
        my $temp     = $envelope->dataof("//c2f/temperature");
        return SOAP::Data->name(
            'convertedTemp' => ( ( ( 9 / 5 ) * ( $temp->value ) ) + 32 ) );
    }
}

use SOAP::Transport::HTTP;如果我将其注释掉,use SOAP::Lite;则会被标记为错误,如果模块未安装,则会被标记为错误、未找到等。两者都使用 CPAN 安装,

$ perl -c soap-test.pl 
post-code-check.pl syntax OK

Perl 很好,CPAN 测试全部通过,代码可以运行,只有 EPIC 落后。

$ pwd && ls 
/opt/local/lib/perl5/site_perl/5.12.4/SOAP
Client.pod      Lite            Server.pod
Constants.pm        Lite.pm         Test.pm
Data.pod        Packager.pm     Trace.pod
Deserializer.pod    SOM.pod         Transport
Fault.pod       Schema.pod      Transport.pod
Header.pod      Serializer.pod      Utils.pod

如果use我的文件开头有错误,那么其余的源就不会进行错误检查。

答案1

我设法通过将我在系统上找到的所有路径手动添加到项目包含路径来解决这个问题,(click in the source of your project) > Project > Properties 转到项目的根目录并打开文件.includepath,并确保路径和结束引号后没有尾随空格:

<includepathentry path="/opt/local/lib/perl5/vendor_perl/5.12.4 " />尽管我只是从终端将我的一些条目复制粘贴到 Eclipse 的 GUI 中,但绝对不可能有尾随空格。

当然,完成所有这些之后,都要从同一个Project菜单中清理项目。

答案2

只需添加在 Eclipse Perl EPIC 中包含模块的步骤(附一些补充说明)

  1. 右键单击您的项目>属性>Perl 包含路径

  2. 输入或浏览要包含的路径

    如果您的文件夹或文件有空格,请确保用双引号括住包含路径

  3. 在您的路径前面加上${project_loc}/如上所述这里

    ${project_loc}"/path/to/some module""${project_loc}/path/to/some module"

  4. 单击“添加到列表”>“确定”。

  5. 重启 Eclipse

相关内容