Версия двоичного компонента и версия компонента Perl модуля, который вы пытаетесь загрузить, не совпадают.
Похоже, вы использовали local :: lib для установки модулей в твой дом реж. Обновление perl
приводит к сбою этой настройки. Решение состоит в том, чтобы удалить ~/perl5
[1] и переустановить модули, которые вы установили локально.
Что делать, если у вас более одной сборки Perl или у вас нет не хотите, чтобы эта проблема возникала при следующем обновлении Perl?
Существуют способы сообщить установщикам, чтобы они устанавливали модули в вашей домашней директории таким образом, чтобы несколько сборок Perl могли совместно использовать каталог установки, [2] , но на самом деле он не работает. [3]
Вот почему я использую perlbrew
для установите Perl в моем домашнем каталоге, чтобы мне не пришлось переопределять место установки модулей. Использование perlbrew
имеет следующие преимущества:
- Вы можете иметь несколько сборок Perl, установленных без хлопот.
- Вы можете обновить Perl, когда хотите, независимо от Обновления ОС.
- Вы можете протестировать скрипты и модули с более новыми версиями Perl, прежде чем переключиться на его постоянное использование.
- Вы можете протестировать скрипты и модули с более старыми версиями Perl .
- Ну, переименовывайте его, пока не убедитесь, что с ним покончено.
- Передав
PREFIX
/ --prefix
и LIB
/ --lib
варианты Makefile.PL
/ Build.PL
вместо INSTALL_BASE
/ --install-base
. - Проблемы возникают, когда модуль pure- Perl зависит от модуля XS.