CPAN 유틸리티

7088 단어 cpanperl


이 게시물에서는 꼭 있어야 하지만 잘 알려지지 않은 CPAN 유틸리티를 소개합니다 👍 💪 😎
  • List outdated modules
  • List latest changes
  • Print dependencies tree
  • List system requirements

  • 오래된 모듈 나열

    You can use cpan-outdated 오래된 모듈 목록을 가져옵니다.

    $ cpan-outdated -p
    Acme::Automatix
    Alien::Plotly::Orca
    Alien::SNMP::MAXTC
    PPIx::QuoteLike
    PPIx::Regexp
    


    당신이 말한 오래된 모듈?

    모듈 버전이 CPAN에서 발전하지만 반드시 로컬에서는 그렇지 않기 때문에 불일치는 완전히 정상입니다.

    제 예에서는 아주 최근에 모든 모듈을 cpan-outdated -p | cpanm로 업데이트했기 때문에 목록이 매우 작습니다(왜 그렇게 했는지는 모르겠지만 멋졌습니다 😀).

    최신 변경 사항 가져오기

    Use cpan-listchanges 로컬에 설치된 버전과 CPAN의 최신 버전 간에 변경 로그의 의미 있는 부분을 가져옵니다. 이전 목록에서 오래된 목록 중 하나의 예:

    $ cpan-listchanges PPIx::QuoteLike
    === Changes between 0.015 and 0.016 for PPIx-QuoteLike
    
    0.016       2021-03-26  T. R. Wyant
        Add rt.cpan.org back to bug reporting methods. Long live RT!
    
        Get prerequisites up to snuff, and add xt/author/prereq.t to ensure
        they stay that way.
    
        Refactor authortest into three, so I do not have to generate stub
        files to test without optional modules.
    


    인쇄 종속성 트리

    Print the dependency tree with cpandeps

    $ cpandeps JSON::Conditional
    JSON::Conditional (dist: L/LN/LNATION/JSON-Conditional-1.00.tar.gz)
      JSON (dist: I/IS/ISHIGAKI/JSON-4.03.tar.gz)
        Test::More (dist: E/EX/EXODIST/Test-Simple-1.302183.tar.gz)
          File::Temp (dist: E/ET/ETHER/File-Temp-0.2311.tar.gz)
            Carp (dist: X/XS/XSAWYERX/Carp-1.50.tar.gz)
              Exporter (dist: T/TO/TODDR/Exporter-5.74.tar.gz)
              IPC::Open3 (dist: S/SH/SHAY/perl-5.32.1.tar.gz)
            File::Path (dist: J/JK/JKEENAN/File-Path-2.18.tar.gz)
              File::Spec::Functions (dist: X/XS/XSAWYERX/PathTools-3.75.tar.gz)
                Scalar::Util (dist: P/PE/PEVANS/Scalar-List-Utils-1.55.tar.gz)
            parent (dist: C/CO/CORION/parent-0.238.tar.gz)
          Storable (dist: X/XS/XSAWYERX/Storable-3.15.tar.gz)
            XSLoader (dist: S/SA/SAPER/XSLoader-0.24.tar.gz)
      Module::Metadata (dist: E/ET/ETHER/Module-Metadata-1.000037.tar.gz)
        Encode (dist: D/DA/DANKOGAI/Encode-3.08.tar.gz)
        lib (dist: S/SM/SMUELLER/lib-0.63.tar.gz)
        version (dist: L/LE/LEONT/version-0.9928.tar.gz)
          base (dist: R/RJ/RJBS/base-2.23.tar.gz)
      Struct::Conditional (dist: L/LN/LNATION/Struct-Conditional-1.00.tar.gz)
        Clone (dist: A/AT/ATOOMIC/Clone-0.45.tar.gz)
          B::COW (dist: A/AT/ATOOMIC/B-COW-0.004.tar.gz)
    


    또한 deps.cpantester.org에서 JSON::Conditional deps(perl 5.26.1의 경우)를 볼 수 있습니다.


    또는 cpandeps.grinnz.com의 멋진 보기(구성 가능):


    이 두 페이지 중 어느 것도 명령줄과 정확히 동일한 결과를 제공하지 않습니다. 이유를 확인하지 않았으며 주석에서 논의할 수 있습니다(동적/정적 항목일 수 있음).

    시스템 요구 사항 나열

    Several modules require libraries or development kit that CPAN can't satisfy (even if Alien modules은 종종 이 간격을 채울 수 있습니다). 종속성이 없기 때문에 CPAN 모듈 설치가 실패하는 것은 "정상"입니다. 무언가를 컴파일할 때 이전에 설치해야 하기 때문에 누락된 헤더를 보고하는 동안 실패하는 것과 같습니다. 귀하와 자동 테스트를 돕기 위해 Slaven Rezić 도구cpan-sysdeps에서 시스템 종속성을 수집했습니다.

    $ cpan-sysdeps --cpanmod Imager
    libfreetype6-dev
    libgif-dev
    libpng-dev
    libjpeg-dev
    libtiff5-dev
    


    나는 이 모듈을 발견했을 때 화가 났습니다. MetaCPAN에서 "++"버튼을 누르십시오!



    결론



    이 목록에 추가할 항목이 더 있으면 공유해 주세요! 😄

    좋은 웹페이지 즐겨찾기