Не удается найти XML / Simple.pm в Windows

#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 ... подход)