Почему mysqldumpslow.pl не может найти никаких модулей Perl в Windows? - PullRequest
0 голосов
/ 02 февраля 2010

Я пытаюсь разобрать журнал медленных запросов MYSQL из командной строки.

При вводе этого:

set PATH=G:\xampp\perl\bin\;%PATH%
cd /d G:\xampp\mysql\scripts
perl mysqldumpslow.pl -s c -t 10

Оболочка возвращает ошибку can't locate strict.pm in @INC (@INC contains: .) at mysqldumpslow.pl at line 8. BEGIN failed

В каталоге perl в xampp есть только один файл perl.exe.

Мне не хватает модулей / библиотек perl? Что мне нужно, чтобы прочитать этот файл журнала?

Ответы [ 2 ]

2 голосов
/ 02 февраля 2010

Обходной путь - найти местоположение strict.pm в вашей установке perl и добавить каталог в переменную окружения PERL5LIB, или вызвать perl с помощью Параметр -I/path/to/strict.pm/directory (см. perlfaq8: как добавить каталог к ​​моему пути включения (@INC) во время выполнения? ).

Если вы обнаружите больше неудовлетворенных зависимостей, продолжайте добавлять каталоги в PERL5LIB или с дополнительными опциями -I, пока ваша программа не сможет работать.

(Хотя в конечном итоге вы, вероятно, устанете от этого и исправите / переустановите perl.)

ОБНОВЛЕНИЕ : При просмотре дистрибутива XAMPP 1.7.3 все файлы библиотеки perl находятся в xampp\perl\lib и xampp\perl\site\lib, поэтому

    perl -IG:/xampp/perl/lib -IG:/xampp/perl/site/lib mysqldumpslow.pl -s c -t 10

это, вероятно, все, что вам нужно сделать. YMMV, если у вас более старый дистрибутив XAMPP.

2 голосов
/ 02 февраля 2010

Ваша установка Perl, похоже, испорчена тем или иным способом. Я не знаком с xampp, но мне трудно поверить, что они связали только perl.exe без остальной части дистрибутива.

Под G:\xampp\perl должны быть такие подкаталоги, как lib, site и т. Д.

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

На самом деле, я только что скачал xampp , и он содержит lib и site\lib в xampp\perl (в нем отсутствует документация, но это не обязательно для запуска сценариев Perl).

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