代码之家  ›  专栏  ›  技术社区  ›  con

无法安装Web服务::InterMine

  •  0
  • con  · 技术社区  · 1 年前

    我试图在Ubuntu 22.04和perl 5.38.0上安装Webservice::InterMine,但我收到了以下错误:

    Loading internal logger. Log::Log4perl recommended for better logging
    Reading '/home/con/.cpan/Metadata'
      Database was generated on Fri, 04 Aug 2023 17:29:02 GMT
    Running install for module 'Webservice::InterMine'
    CPAN: Digest::SHA loaded ok (v6.04)
    CPAN: Compress::Zlib loaded ok (v2.204)
    Checksum for /home/con/.cpan/sources/authors/id/I/IN/INTERMINE/Webservice-InterMine-1.0405.tar.gz ok
    CPAN: YAML loaded ok (v1.30)
    CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
    CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
    CPAN: CPAN::Meta loaded ok (v2.150010)
    CPAN: Module::CoreList loaded ok (v5.20230520)
    CPAN: Module::Build loaded ok (v0.4234)
    Configuring I/IN/INTERMINE/Webservice-InterMine-1.0405.tar.gz with Build.PL
    Created MYMETA.yml and MYMETA.json
    Creating new 'Build' script for 'Webservice-InterMine' version '1.0405'
      INTERMINE/Webservice-InterMine-1.0405.tar.gz
      /home/con/perl5/perlbrew/perls/perl-5.38.0/bin/perl Build.PL -- OK
    Running Build for I/IN/INTERMINE/Webservice-InterMine-1.0405.tar.gz
    Building Webservice-InterMine
      INTERMINE/Webservice-InterMine-1.0405.tar.gz
      ./Build -- OK
    CPAN: CPAN::DistnameInfo loaded ok (v0.12)
    Running Build test for INTERMINE/Webservice-InterMine-1.0405.tar.gz
    t/00-load.t ................................ 1/1 # Testing Webservice::Webservice::InterMine 1.0405, Perl 5.038000, /home/con/perl5/perlbrew/perls/perl-5.38.0/bin/perl
    t/00-load.t ................................ ok   
    t/01_path/01_validate.t .................... ok     
    t/02_pathfeature/01_pathfeature.t .......... ok     
    t/03_constraint/01_constraint.t ............ ok       
    t/03_constraint/02_constraint_factory.t .... ok     
    t/03_constraint/03_template_constraints.t .. ok       
    t/03_constraint/04_logic.t ................. ok     
    t/04_query/01_core.t ....................... ok     
    t/04_query/02_pathquery.t .................. ok     
    t/04_query/03_saved.t ...................... ok     
    t/04_query/03_scripted.t ................... ok     
    t/04_query/04_template.t ................... ok     
    t/04_query/05_good_and_bad_templates.t ..... ok     
    t/05_template/01_factory.t ................. ok     
    t/06_service/01_service.t .................. ok     
    t/06_service/02_result_iterator.t .......... ok   
    t/06_service/03_result_objects.t ........... ok   
    t/06_service/04_serviced_queries.t ......... ok   
    t/06_service/05_result_row.t ............... ok     
    t/06_service/06_test_export_exclusion.t .... ok     
    t/06_service/07_test_inclusion.t ........... ok     
    t/07_intermine/01_integration.t ............ 1/44 
    #   Failed test 'use Webservice::InterMine;'
    #   at t/07_intermine/01_integration.t line 87.
    #     Tried to use 'Webservice::InterMine'.
    #     Error:  Can't call method "host" on an undefined value at /home/con/.cpan/build/Webservice-InterMine-1.0405-1/blib/lib/Webservice/InterMine/Service.pm line 833.
    #  at /home/con/.cpan/build/Webservice-InterMine-1.0405-1/blib/lib/Webservice/InterMine/Service.pm line 833.
    #   Webservice::InterMine::Service::fetch(Webservice::InterMine::Service=HASH(0x564ecb9444a0), "http://fake.url/path/service/version") called at /home/con/.cpan/build/Webservice-InterMine-1.0405-1/blib/lib/Webservice/InterMine/Service.pm line 219
    #   Webservice::InterMine::Service::__ANON__(Webservice::InterMine::Service=HASH(0x564ecb9444a0)) called at constructor Webservice::InterMine::Service::new (defined at /home/con/.cpan/build/Webservice-InterMine-1.0405-1/blib/lib/Webservice/InterMine/Service.pm line 913) line 141
    #   Webservice::InterMine::Service::new("Webservice::InterMine::Service", "fake.url/path") called at /home/con/.cpan/build/Webservice-InterMine-1.0405-1/blib/lib/Webservice/InterMine.pm line 463
    #   Webservice::InterMine::get_service("Webservice::InterMine", "fake.url/path") called at /home/con/.cpan/build/Webservice-InterMine-1.0405-1/blib/lib/Webservice/InterMine.pm line 207
    #   Webservice::InterMine::import("Webservice::InterMine", "fake.url/path") called at t/07_intermine/01_integration.t line 87
    #   main::BEGIN() called at t/07_intermine/01_integration.t line 87
    #   eval {...} called at t/07_intermine/01_integration.t line 87
    #   eval 'package main;
    # BEGIN { ${^WARNING_BITS} = $args[-1] if defined $args[-1] }
    # #line 87 t/07_intermine/01_integration.t
    # use Webservice::InterMine @{$args[0]};
    # 1;
    # ' called at /home/con/perl5/perlbrew/perls/perl-5.38.0/lib/5.38.0/Test/More.pm line 1056
    #   Test::More::_eval("package main;\x{a}BEGIN { \${^WARNING_BITS} = \$args[-1] if defined"..., ARRAY(0x564ec7c55fa0), "UUUUUUUUUUUUUUUUUUUU") called at /home/con/perl5/perlbrew/perls/perl-5.38.0/lib/5.38.0/Test/More.pm line 1031
    #   Test::More::use_ok("Webservice::InterMine", "fake.url/path") called at t/07_intermine/01_integration.t line 87
    # BEGIN failed--compilation aborted at t/07_intermine/01_integration.t line 87.
    #  at t/07_intermine/01_integration.t line 87.
    #   eval 'package main;
    # BEGIN { ${^WARNING_BITS} = $args[-1] if defined $args[-1] }
    # #line 87 t/07_intermine/01_integration.t
    # use Webservice::InterMine @{$args[0]};
    # 1;
    # ' called at /home/con/perl5/perlbrew/perls/perl-5.38.0/lib/5.38.0/Test/More.pm line 1056
    #   Test::More::_eval("package main;\x{a}BEGIN { \${^WARNING_BITS} = \$args[-1] if defined"..., ARRAY(0x564ec7c55fa0), "UUUUUUUUUUUUUUUUUUUU") called at /home/con/perl5/perlbrew/perls/perl-5.38.0/lib/5.38.0/Test/More.pm line 1031
    #   Test::More::use_ok("Webservice::InterMine", "fake.url/path") called at t/07_intermine/01_integration.t line 87
    No url provided - either directly or on 'use' at t/07_intermine/01_integration.t line 89.
     at /home/con/.cpan/build/Webservice-InterMine-1.0405-1/blib/lib/Webservice/InterMine.pm line 457.
        Webservice::InterMine::get_service("Webservice::InterMine") called at t/07_intermine/01_integration.t line 89
    # Looks like your test exited with 255 just after 1.
    t/07_intermine/01_integration.t ............ Dubious, test returned 255 (wstat 65280, 0xff00)
    Failed 44/44 subtests 
    t/10_acceptance/01_live_test.t ............. skipped: Acceptance tests for release testing only
    t/10_acceptance/02_lists.t ................. skipped: Acceptance tests for release testing only
    t/10_acceptance/02_lists_with_tokens.t ..... skipped: Acceptance tests for release testing only
    t/10_acceptance/04_paths.t ................. skipped: Acceptance tests for release testing only
    t/10_acceptance/05_summaries.t ............. skipped: Acceptance tests for release testing only
    t/10_acceptance/06_redirection.t ........... skipped: Acceptance tests for release testing only
    t/10_acceptance/07_lazy_references.t ....... skipped: Acceptance tests for release testing only
    t/10_acceptance/08_enrichment.t ............ skipped: Acceptance tests for release testing only
    t/10_acceptance/09_widgets.t ............... skipped: Acceptance tests for release testing only
    t/10_acceptance/10_id_resolution.t ......... skipped: Acceptance tests for release testing only
    t/manifest.t ............................... skipped: Author tests not required for installation
    t/moose-hygiene.t .......................... ok   
    t/pod-coverage.t ........................... skipped: Complete documentation coverage is coming shortly
    t/pod.t .................................... ok     
    
    Test Summary Report
    -------------------
    t/07_intermine/01_integration.t          (Wstat: 65280 (exited 255) Tests: 1 Failed: 1)
      Failed test:  1
      Non-zero exit status: 255
      Parse errors: Bad plan.  You planned 44 tests but ran 1.
    Files=36, Tests=4540, 23 wallclock secs ( 0.26 usr  0.04 sys + 21.69 cusr  0.72 csys = 22.71 CPU)
    Result: FAIL
    Failed 1/36 test programs. 1/4540 subtests failed.
      INTERMINE/Webservice-InterMine-1.0405.tar.gz
      ./Build test -- NOT OK
    //hint// to see the cpan-testers results for installing this module, try:
      reports INTERMINE/Webservice-InterMine-1.0405.tar.gz
    

    如何安装此软件包?

    0 回复  |  直到 1 年前
        1
  •  1
  •   brian d foy    1 年前

    WebService::InterMine模块上一次发布是在2013年,它所依赖的HTTP::Response模块(来自LWP发行版)出现了漂移。请参阅 Perl/perl5#20447 。要使用WebService::InterMine,您需要为最新的HTTP::Response修复它。看起来问题是缺少一个标头。

    还有另一种方法,这需要大量的工作,并可能在其他领域引发问题。您可以在6.42中的突破性更改之前使用LWP。有很多方法可以做到这一点,但它们往往是书本长度的回应。

        2
  •  0
  •   brian d foy    1 年前

    这个bug已经 previously reported .

    由于安装失败是在运行测试时发生的,您应该能够通过执行以下操作来安装模块:

    cpanm --notest Webservice::InterMine