Какие модули Perl можно установить, просто скопировав файлы lib? - PullRequest
0 голосов
/ 08 марта 2010

Я абсолютный новичок в Perl и пытаюсь использовать некоторые неосновные модули на своем общем веб-хосте Linux. У меня нет доступа к командной строке, только FTP.

Администраторы хоста рассмотрят возможность установки модулей по запросу, но те, которые я хочу использовать, часто обновляются (например, DateTime :: TimeZone), и я предпочел бы контролировать, какую именно версию я использую.

Экспериментально я обнаружил, что некоторые модули можно установить, скопировав файлы из каталога lib модуля в каталог на хосте и используя

use lib "local_path";

в моем сценарии, т.е. для установки не требуется компиляция (снова DateTime и DateTime :: TimeZone).

Как я могу определить, относится ли это к определенному модулю? Я понимаю, что мне придется разрешать зависимости самостоятельно.

Дополнительно: если бы я хотел иметь возможность установить любой модуль, включая те, которые требуют компиляции, что бы я искал с точки зрения хостинга?

Полагаю, в данный момент я делю виртуальную машину с несколькими другими, и минимальное необходимое количество ресурсов - выделенная виртуальная машина с доступом к оболочке?

Ответы [ 2 ]

2 голосов
/ 08 марта 2010

См. perldoc perlxs .

Вы можете проверить источник модуля на DynaLoader или что-то в этом роде. Таким образом, вы можете узнать, использует ли модуль какой-либо код C.

Если вы используете Unix-подобную ОС, вы можете использовать менеджер пакетов, чтобы увидеть, какие файлы / библиотеки устанавливает пакет (модуль perl).

0 голосов
/ 08 марта 2010

Вы можете использовать

use lib "your_local_path" , 

В этом случае вы можете иметь модуль в вашем локальном пути.

...