Тестирование с двумя версиями Catalyst в одной системе/приложении

Я пытаюсь протестировать клиентское приложение Catalyst, которое работает с Catalyst 5.8 и имеет серьезные проблемы с Catalyst 5.9.

Мне нужно сделать это на их тестовой системе, где приложение [которое также имеет сложную и запутанную установку] работает с Catalyst 5.8.

Мне интересно, есть ли чистый способ переключения назад и вперед?

Я думаю, например, установить 5.9 в пользовательский каталог, использовать Catalyst::Runtime '5.80'; или use Catalyst::Runtime '5.90'; и переключать @INC по своему усмотрению.

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

Я не могу вносить много глубоких изменений в среду, это не моя система, так что это проблема реализации и проблема кодирования, и все это перемешано.

Любые комментарии к этому приветствуются, я не являюсь глубоким экспертом по Catalyst, поэтому я надеюсь на простой способ сделать это.


person Hugh Barnard    schedule 17.09.2012    source источник
comment
use Module VERSION может делать не то, что вы думаете. Все, что он делает, это загружает Module из обычного места и хрипит, если версия не ниже VERSION. Чтобы загрузить определенную версию модуля, вам нужно манипулировать @INC   -  person mob    schedule 17.09.2012
comment
Спасибо, грустная правда [!] и спасибо, что напомнили...   -  person Hugh Barnard    schedule 17.09.2012


Ответы (1)


Используйте local::lib для установки другая версия катализатора

person Julien    schedule 17.09.2012
comment
Также спасибо, я спрошу у сисадминов, но это может быть выходом. К сожалению, мне также придется карабкаться и смотреть, что там уже тоже... - person Hugh Barnard; 17.09.2012
comment
@ Джулиан, да, это выглядит жизнеспособным, спасибо. Я пробовал это на локальной машине в качестве «репетиции» для удаленной машины клиента. Получил новый Catalyst в ~/local_perl/lib/perl5/ через local::lib [вероятно, мог бы использовать префикс установки], а затем добавил путь, когда я запускаю скрипт preload-modules при запуске Apache. Регистрация показывает, что Catalyst появляется как «локальная» версия. - person Hugh Barnard; 19.09.2012