Существует ли стандартный способ обновления до новой, минорной версии (и бинарной совместимости) Perl без полной перекомпиляции из исходного кода?

Например, если у меня установлен Perl v5.24.0 с кучей модулей CPAN, могу ли я обновить эту установку до v5.24.1, не перекомпилировав полностью новую сборку и сделав то же самое для всех модулей CPAN, установленных под v5.24.0? Или мне нужно создать список всех установленных модулей CPAN, скомпилировать новый Perl и переустановить эти модули CPAN, используя только что скомпилированную версию?

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

11
secJ 25 Апр 2017 в 01:37

2 ответа

Лучший ответ

если у меня установлен Perl v5.24.0 с кучей модулей CPAN, могу ли я обновить эту установку до v5.24.1 без перекомпиляции полностью новой сборки

Насколько я знаю, нет. Вы должны настроить / скомпилировать / установить новый Perl с нуля.

и делать то же самое для всех модулей CPAN, установленных под v5.24.0?

Да: Configure спросит вас о существующих версиях perl и о том, следует ли включать их каталоги в @INC. Если вы говорите «да» (который, я считаю, используется по умолчанию), все уже установленные модули доступны в вашем новом Perl.


Это говорит:

Или мне нужно создать список всех установленных модулей CPAN

Это легко с cpan -a:

$ cpan -a
... lots of modules listed here ...

Wrote bundle file
    /home/user/.cpan/Bundle/Snapshot_2017_04_25_00.pm

и переустановить эти модули CPAN, используя только что скомпилированную версию?

После установки нового Perl запустите

$ cpan Bundle::Snapshot_2017_04_25_00

(или какое-либо имя cpan -a дало файл снимка на предыдущем шаге), и он должен установить все, что у вас было раньше.

3
melpomene 25 Апр 2017 в 18:23

Если вы используете perlbrew, у него есть команда «upgrade-perl». Недостатком является то, что параметры начальной настройки все еще не передаются во вновь созданную версию. См. Также http: //www.modernperlbooks. ком / мт / 2013 / 03 / обновление на месте - с - perlbrew.html

0
Alexander Hartmaier 22 Май 2017 в 07:14