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

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

Ответ 1

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

Установите cpanm

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

Обновление cpanm

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

Установить cpan-outdated

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

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

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

Ответ 2

# 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 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

Ответ 3

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

r  [enter]

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

cpan upgrade <MODULE NAME>

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

Привет,

Джефф

Ответ 4

$ cpan Module

и

cpan> install Module 

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