#perl #bugzilla #centos5
#perl #bugzilla #centos5
Вопрос:
Я пытаюсь установить Bugzilla на свой сервер Centos. но я получил эту ошибку:
Checking for DateTime-TimeZone (v0.71) not found
и
COMMANDS TO INSTALL REQUIRED MODULES (You *must* run all these commands
and then re-run this script):
/usr/bin/perl install-module.pl DateTime::TimeZone
Если я запущу: /usr/bin/perl install-module.pl DateTime::TimeZone
тогда я получаю это:
CPAN: Storable loaded ok (v2.15)Reading '/root/.cpan/Metadata'
Database was generated on Sun, 09 Oct 2011 17:27:24 GMT
Installing DateTime::TimeZone version 1.39...
CPAN: Module::CoreList loaded ok (v2.56)
DateTime::TimeZone is up to date (1.39).
Как я могу это исправить?
Комментарии:
1. ИМХО, это ошибка в Bugzilla, при сравнении версий. Сообщите об этом в собственный баг-трекер Bugzilla.
2. Я согласен с Александром. Bugzilla ищет версию 0.71, но у вас установлена версия 1.39 (что является довольно большим скачком в управлении версиями). Я пытался выяснить, как выполняется эта проверка. Возможно, требуется версия, равная или превышающая, точное совпадение или, возможно, что-то с аналогичной основной версией. Я попытался разобраться в логике, но не хотел тратить так много времени на эту проблему. Если вы не застряли на Bugzilla, вы можете попробовать MantisBT . Mantis был специально разработан для замены Bugzilla более простой в настройке системой.
3. Может быть, первое сообщение пришло от
perl
другого, чем/usr/bin/perl
? У вас установлено более одной сборки Perl? Попробуйте запуститьperl install-module.pl DateTime::TimeZone
(без ввода/usr/bin
).
Ответ №1:
У меня была такая же проблема при обновлении. Модуль DateTime::TimeZone, похоже, был установлен, но скрипт Bugzilla checksetup.pl
всегда сообщал, что он не найден. Следующее исправило проблему для меня (запуск из каталога установки Bugzilla):
$ perl install-module.pl Params::Util
$ perl install-module.pl Module::Runtime
Я нашел это, написав двухстрочный perl-скрипт для имитации проверки, выполняемой Bugzilla:
use lib qw(. lib);
use DateTime::TimeZone;
а затем запустите его, чтобы увидеть ошибки:
perl /tmp/foo.pl
После установки вышеуказанных модулей foo.pl
скрипт проходит, как и Bugzilla checksetup.pl
.
Комментарии:
1. Вторая команда, perl install-module.pl Module::Runtime, сделал это за меня. Это для Bugzilla 4.2.3! Я думаю, что это НЕ было упомянуто как необязательное / обязательное, но оно обходит требование зоны даты и времени, хотя у меня уже был установлен этот модуль.
2. Для меня отсутствующий модуль имел отношение к YAML. Запуск perl install-module.pl сценарий был определенно правильным решением (в отличие от запуска yum install или cpan напрямую).
Ответ №2:
У меня такая же проблема, и решение приведено в этой ссылке
Что-то вроде /usr/bin/perl install-module.pl Module::Build может быть достаточно, хотя я бы подумал, что Module::Bundle является стандартным perl
Ответ №3:
Я бы предположил, что вы установили DateTime-TimeZone под своей учетной записью пользователя, которая недоступна для веб-сервера или учетной записи ‘root’. Попробуйте просто установить через свой менеджер пакетов:
yum install 'perl(DateTime::TimeZone)'
Ответ №4:
Я тоже столкнулся с этой проблемой. Я не уверен, почему он не находит часовой пояс.
Я немного покопался в коде и попытался изменить номера версий часового пояса, чтобы заставить его работать, но он всегда говорит «не найден».
В конце концов, я просто прокомментировал строки, в которых он пытался выполнить проверку. Затем это позволило мне установить. (Добавьте хэши в начало каждой строки)
# {
# package => 'DateTime-TimeZone',
# module => 'DateTime::TimeZone',
# version => ON_WINDOWS ? '0.79' : '0.71'
# },
Это действительно похоже на ошибку в Bugzilla. Я предлагаю сообщить об этом.