Как обновить модули perl, которые устанавливаются из CPAN?

в оболочке cpan, только / regexp / или все модули могут быть обновлением, если я хочу обновить модули, установленные только CPAN, как это сделать?

4 ответов


Я предлагаю вам использовать сценарий cpanm "family" для управления модулями perl.

установить cpanm

  • пропустить этот шаг, если у вас уже есть
  • curl -L http://cpanmin.us | perl - --sudo App::cpanminus
  • если вы на freebsd, вы можете вместо этого использовать команду fetch (см.: man fetch)

обновление cpanm

  • пропустить это, если вы установили его правильно теперь
  • cpanm --self-upgrade --sudo

установить cpan-устарел

  • cpanm App::cpanoutdated
  • CPAN-устаревшая команда делает то же самое, что и CPAN (r), но IMO лучше использовать из shell

например, только мой ноутбук дает такой результат, как:

marvin:~ jomo$ cpan-outdated
S/SM/SMUELLER/Attribute-Handlers-0.93.tar.gz
D/DR/DROLSKY/Class-Load-0.20.tar.gz
D/DR/DROLSKY/DateTime-TimeZone-1.47.tar.gz
... etc

запустить cpan-устаревшие и обновить модули

  • cpan-outdated -p | cpanm

изменения

если вы хотите увидеть, что изменен (Change-log), вы можете попробовать установить cpan-listchanges

  • cpanm App::cpanlistchanges
  • и использовать его как: cpan-listchanges Plack - тоже посмотрите, что изменилось в Plack между вашим местным и последним на CPAN

# cpan
cpan> h

Display Information                                                (ver 1.9800)
 command  argument          description
 a,b,d,m  WORD or /REGEXP/  about authors, bundles, distributions, modules
 i        WORD or /REGEXP/  about any of the above
 ls       AUTHOR or GLOB    about files in the author's directory
    (with WORD being a module, bundle or author name or a distribution
    name of the form AUTHOR/DISTRIBUTION)

Download, Test, Make, Install...
 get      download                     clean    make clean
 make     make (implies get)           look     open subshell in dist directory
 test     make test (implies make)     readme   display these README files
 install  make install (implies test)  perldoc  display POD documentation

Upgrade
 r        WORDs or /REGEXP/ or NONE    report updates for some/matching/all modules
 upgrade  WORDs or /REGEXP/ or NONE    upgrade some/matching/all modules

Pragmas
 force  CMD    try hard to do command  fforce CMD    try harder
 notest CMD    skip testing

Other
 h,?           display this menu       ! perl-code   eval a perl command
 o conf [opt]  set and query options   q             quit the cpan shell
 reload cpan   load CPAN.pm again      reload index  load newer indices
 autobundle    Snapshot                recent        latest CPAN uploads

запуск только ниже команды будет делать то, что вы просите.

cpan> upgrade

вы должны сначала войти в cpan. Затем, один раз в командной строке введите:

r  [enter]

это распечатает список обновляемых модулей, которые установлены. После этого списка для работы можно использовать следующие:

cpan upgrade <MODULE NAME>

просто замените имя модуля для обновления.

С уважением,

Джефф


$ cpan Module

и

cpan> install Module 

будет обновляться, если доступна более новая версия, и ничего не делать, если у вас уже есть последняя версия.