Как я могу вернуться к предыдущей установке Perl после установки Bundle :: CPAN?

После установки последней версии Bundle :: CPAN я понял, что определенный устаревший код не будет работать в этой последней версии. Я хочу удалить (а не просто отсоединить) эту последнюю версию и вернуться к использованию старой версии. Как я могу это сделать?


person SkypeMeSM    schedule 13.10.2010    source источник
comment
Следует ли мне вместо этого добавить эту тему в StackExchange?   -  person SkypeMeSM    schedule 13.10.2010
comment
Я думаю, что эта тема подходит для stackoverflow. На старую версию что именно хотите откатить? Просто Bundle :: CPAN, зависимости, которые он установил, или он действительно установил новую версию perl?   -  person rafl    schedule 13.10.2010
comment
да, я хочу вернуть его к более старой версии perl (5.6), так как установка Bundle :: CPAN установила perl 5.8.   -  person SkypeMeSM    schedule 13.10.2010
comment
Вы пробовали загрузить нужную версию с perl.org и просто установить ее как обычно?   -  person Ether    schedule 13.10.2010
comment
Платформа - Unix, ОС - ubuntu. Я установил его из оболочки perl CPAN ..   -  person SkypeMeSM    schedule 13.10.2010
comment
возможный дубликат Как я могу удалить Модуль Perl установлен через cpan?   -  person brian d foy    schedule 13.10.2010
comment
Из любопытства, с какими проблемами вы сталкиваетесь между версиями 5.6 и 5.8?   -  person Ether    schedule 13.10.2010


Ответы (2)


У Perl и CPAN.pm есть способ вернуться к тому, что у вас было до установки более поздних версий модулей. См. Как я могу удалить модуль Perl, установленный через cpan?.

Однако в следующий раз вы сможете исправить эту проблему.

Вот что я рекомендую:

  • Если вы можете выяснить, какие модули вызывают проблему, установите их в отдельные каталоги и настройте @INC для использования этих каталогов. Делайте это, пока не определите, какие версии модулей вам нужны.

  • Когда вы определитесь с нужными вам дистрибутивами, возьмите их из CPAN или BackPAN. Храните дистрибутивы локально и настройте свой собственный MiniCPAN только с этими дистрибутивами. Так как CPAN имеет конструктивную особенность для отслеживания только последних версий любого дистрибутива, вы хотите, чтобы ваш локальный MiniCPAN делал вид, что старые дистрибутивы являются последними версиями. Вот почему я создал MyCPAN :: App :: DPAN. Я немного пишу об этом в Управляйте несколькими MiniCPAN и создавайте их версии

  • Также есть Pinto и Stratopan, которые служат в качестве системы контроля версий для вашего частного репозитория, подобного CPAN. Откатиться, если что-то не понравилось.

  • Как только вы исправите ситуацию, поместите свои библиотеки Perl в систему управления версиями, чтобы вы всегда могли откатить установку. См. Управление модулями Perl с помощью git.

  • Придумайте политику установки и тестирования, в которой вы ничему не мешаете, прежде чем узнаете, что все работает. Частично это тестирование новых установок вне ваших основных каталогов библиотеки Perl. Когда вы думаете, что удовлетворены, вы можете установить в эти каталоги.

person brian d foy    schedule 13.10.2010
comment
Теперь есть также pinto, который похож на систему контроля версий для модулей Perl. Для начала вам все еще нужно выяснить, какие модули должны быть правильными. Но после этого Пинто призван автоматизировать всю работу, которую описал Брайан. Также существует Stratopan для выполнения всего этого в облаке. Раскрытие информации: я управляю стратопаном. - person Jeffrey Ryan Thalhammer; 09.04.2014

Самый простой способ - посетить metacpan. Найдите свой модуль. В вашем случае Bundle :: CPAN.

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

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

cpanm http://cpan.metacpan.org/authors/id/A/AN/ANDK/Bundle-CPAN-1.861.tar.gz

надеюсь, это поможет

person Hamster    schedule 21.03.2014
comment
Это не сработает. Модули более поздней версии удалены не будут. - person brian d foy; 09.04.2014