Как хранить локальные для приложения модули Perl, распаковывать гемы или упаковщики? - PullRequest
1 голос
/ 12 августа 2010

У меня есть несколько модулей, которые я хотел бы сохранить в директории локального приложения (возможно, что-то вроде ./lib) и проверить в системе контроля версий.В идеале это должно включать все зависимости модулей.

Конечная цель - иметь возможность развертывания на несколько блоков (которые имеют только базовую установку perl) и обеспечить наличие в скрипте необходимых модулей /версии.CPAN отключен в качестве опции во время развертывания, и я хочу по возможности избегать отдельного внутреннего репо.

Для развертывания все блоки будут одинаковыми os / arch.Кроссплатформенность было бы неплохо, поскольку у нас есть люди, которые разрабатывают на Linux и OSX.

Есть идеи?

Спасибо.

1 Ответ

1 голос
/ 12 августа 2010

Используйте local :: lib . Документация хорошо читается.

Заполнение вашей локальной :: lib директории в VCS, вероятно, хорошая идея. Если вы используете чистые модули Perl (без скомпилированного кода XS), то он должен работать на всех платформах.

Если вам нужно использовать модули XS, которые не совместимы в двоичном коде между вашими различными архитектурами, то вам может быть просто не нужно добавлять две версии скомпилированных модулей в одну и ту же установку local :: lib, поскольку эти модули находятся на archname параметр времени компиляции, который хранится в двоичном файле perl (perl -V).

...