Я пытаюсь установить BugZilla на наш сервер. Проблема в том, что скрипты Perl BugZilla определяют путь как /usr/bin/perl
, а моя установка perl находится по адресу /usr/local/bin/perl
.
У меня возникла эта проблема при установке других приложений, мне пришлось вручную редактировать пути интерпретатора.
Как вы справляетесь с подобными ситуациями?
РЕДАКТИРОВАТЬ: Я только что заметил, что у нас есть две копии perl на сервере, одна в стандартном расположении, в / usr / local / bin / perl, но which perl
возвращает прежний путь.
Кстати, вот ошибка, которую я получаю, когда запускаю perl-скрипт bugzilla
bash: ./checksetup.pl: /usr/bin/perl: bad interpreter: Permission denied
Вы можете создать мягкая ссылка с помощью пер который связывает / usr / bin / perl с / usr / local / bin / perl
ln -s /usr/local/bin/perl /usr/bin/perl
Мы делаем это в моей среде: мы оставляем системный perl в / usr / bin / perl и устанавливаем наш собственный интерпретатор в / usr / local / bin / perl; это позволяет нам сохранить надежный Perl, который, как мы знаем, не унесет с ума.
Я бы сказал, что самый простой способ обойти эту проблему - полностью обойти строку shebang и просто вызвать эти сценарии с помощью интерпретатора perl, который вы действительно хотите, чтобы они выполнялись:
/usr/local/bin/perl /path/to/someBugzillaScript.pl
Это дает вам контроль над средой выполнения без необходимости вносить изменения на системном уровне, чтобы приспособить пакет Bugzilla.