Подтвердить что ты не робот

Обновление на месте Perl от источника

Есть ли стандартный способ обновления до новой, младшей версии (и двоичной совместимости) Perl без полной перекомпиляции из исходного кода?

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

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

4b9b3361

Ответ 1

Если у меня установлен 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 предоставило файл моментального снимка на предыдущем шаге), и он должен установить все, что у вас было до этого.

Ответ 2

Если вы используете perlbrew, он имеет команду "upgrade-perl". Недостатком является то, что исходные параметры конфигурации по-прежнему не передаются в новую версию. См. Также http://www.modernperlbooks.com/mt/2013/03/upgrade-in-place-with-perlbrew.html