#windows #perl #strawberry-perl #xml-simple
#Windows #perl #strawberry-perl #xml-простой
Вопрос:
У меня установлен strawberry perl на моем диске C в Windows и выполняется сборка из существующего большого проекта. Во время сборки необходимо выполнить несколько сценариев сборки perl, и в нем появляется сообщение об ошибке, приведенное ниже:
Ниже приведены результаты выполнения команд, которые я дал для проверки существования XML::Simple
Мне интересно узнать о пути /usr/local/lib
в Windows, и perl установлен в C:Strawberryperlbin
, а XML::Simple находится в C:StrawberryperlvendorlibXML
и C:StrawberryperllibXML
.
РЕДАКТИРОВАТЬ: вывод из perl -V
. Я сохранил только для @INC
Построен под MSWin32 Скомпилирован 2 августа 2020 года 19:51:20 @INC:
C:/Strawberry/perl/site/lib
C:/Strawberry/perl/vendor/lib
C:/Strawberry/perl/lib
Комментарии:
1. Лучше включить вывод в виде текста.
2. Прежде чем люди нажмут кнопку «закрыть», этот вопрос немного отличается от обычного «просто установите модуль».
Ответ №1:
Похоже, что в двух ситуациях используются разные perl
двоичные файлы с разными путями к библиотекам. При запуске perl
или вы cpan
используете Strawberry Perl. Что бы вы ни делали наверху, скорее всего, используется другой perl
, возможно, из cygwin.
Вам необходимо установить модули с perl
тем, кто хочет их использовать. Найдите cpan
для этого perl
(возможно, посмотрите в Makefile, чтобы узнать, как его найти perl
, и cpan
он должен быть в том же каталоге).
Обновите свой ответ (текстовым) выводом perl -V
. В конце этого вывода будут показаны @INC
каталоги. Я предполагаю, что этот список не соответствует верхнему изображению.
Комментарии:
1. Спасибо за ваш ответ. Да, я понимаю, что это происходит по другому пути, и именно поэтому мне интересно узнать об этом /usr/local/ … и / user/lib / … пути на моем компьютере с Windows (PS: у меня установлено приложение ubuntu из магазина). В соответствии с просьбой я обновил вывод perl -V для @INC.
2. Я удалил cygwin из своего пути к среде. Теперь он работает правильно, и моя сборка работает нормально. Спасибо за быструю поддержку.
3. Обычно достаточно использовать
cpan
из правильногоperl
. Сcpan
тем, что поставляется с SP, вы должны убедиться, что правильныйperl
путь стоит первым в пути (или использовать более сложныйperl -MCPAN::Shell ...
подход)