Какие проблемы должны возникнуть при установке дополнительных модулей Perl на сервере? - PullRequest
3 голосов
/ 01 декабря 2009

Я хотел бы попросить моего системного администратора установить различные модули Perl, такие как Moose и Data::Alias. Система Red Hat Enterprise Linux 5, на которой работает Perl 5.8.8. Единственная проблема, о которой я могу подумать, заключается в том, что некоторые уже установленные модули могут нуждаться в обновлении и, таким образом, рискуют что-то сломать. О чем еще мне беспокоиться?

Ответы [ 4 ]

13 голосов
/ 01 декабря 2009

Я не знаю политики вашей компании, но, вероятно, было бы лучше не связываться с вашей системой perl и устанавливать дополнительные библиотеки и их необходимые компоненты (и даже выделенный perl) в другом месте используйте lib.

См. Также Как мне сохранить каталог моего собственного модуля / библиотеки? в perlfaq .

6 голосов
/ 01 декабря 2009

Наши системные администраторы заинтересованы в том, чтобы запрошенные модули Perl больше ничего не ломали в своих системах.

Итак, мы спрашиваем, тогда они могут сказать: «Нет, это сломает X , пожалуйста, установите это в пространстве пользователя». или «Мы установим это в нестандартном месте Y по причинам совместимости». Я не знаю всех вещей, которые они принимают во внимание при принятии этого решения. Единственное, что я должен знать, это то, сломаются ли мои приложения при установке / обновлении модулей.

Если ваши системные администраторы передают эту ответственность (т.е. зная влияние на систему в целом) вам как разработчику, вероятно, гораздо безопаснее согласиться с предложением Синан и установить модули нужно в нестандартном для себя месте. Быть системным администратором и разработчиком одновременно, при этом платят только за одного, - это не весело.

5 голосов
/ 01 декабря 2009

Хитрость заключается в том, чтобы не избавляться от старой настройки, пока вы не узнаете, что новая установка работает. Проблема в том, что цепочка инструментов CPAN не заботится и с радостью установит новые файлы поверх старых, не давая вам способа удалить ваш ущерб.

Если я работаю над большим проектом, в котором я собираюсь обновить модули, мне нравится помещать новые модули в их собственную, новую директорию. Я могу проверить все, установив PERL5LIB в новые каталоги, и если это не сработает, я вернусь к старой настройке с простым изменением среды.

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

4 голосов
/ 01 декабря 2009

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

Существует исправление, способ обойти эту проблему смешивания системных модулей и ваших собственных модулей, и это исправление называется local :: lib. local :: lib предоставляет вам возможность устанавливать модули локально, в указанной вами библиотеке, которую вы можете контролировать. Вы можете использовать / home / you / perl5 /, например, или любой путь, который, по вашему мнению, будет работать.

PS - модули Moose, скорее всего, не будут мешать другим модулям Perl 5, поскольку Moose имеет чистое и отдельное пространство имен. Однако для этого требуется много модулей из CPAN, поэтому заранее предупредите своего системного администратора. :)

Кроме того, попросите вашего системного администратора обновить Perl до 5.10, что принесет много хороших новых вещей в ядро ​​Perl и позволит вам использовать новую блестящую технологию Perl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...