установка модуля CPAN на windows

Я пытаюсь установить модуль CPAN в Windows 7. У меня нет Active Perl, поэтому я не могу использовать пакет PPM.

Шаги, указанные на всех сайтах, включают в себя эти три шага: создание, выполнение теста и выполнение установки. Я знаю, что make - это команда unix и не работает в Windows.

Какую команду я должен запустить в Windows, чтобы завершить установку?

Я загрузил dmake с сайта CPAN, как упоминалось на одном из сайтов, но когда я запускаю его, он дает следующую ошибку:

D: \ Parse-RecDescent-1.965001.tar \ Parse-RecDescent-1.965001> D: \ dmake \ dmake \ dmake dmake: Ошибка: - `D: \ indigoampp \ perl-5.12.1 \ libConfig.pm 'не найден, и не может быть сделано

Пожалуйста, дайте мне знать, как мне выполнить эти шаги. Спасибо!

PS: Опять же, PPM - это не вариант.


Всем спасибо.

В папке indigoampp \ perl-5.12.1 \ lib есть файл Config_heavy.pl. Там была строка: make = 'nmake'. Я изменил это на make = 'dmake', поскольку использую команды dmake.

После этого мне не нужно было изменять DIRFILESEP в Makefile каждого модуля. Теперь он генерирует \\, как указано в приведенных выше ссылках.

Теперь я могу запустить dmake, dmake test и dmake install. Однако это ничего не делает. Он не копировал файл / файлы pm в соответствующие места. Почему так??

Во всяком случае, я вручную скопировал файл / файлы pm в надежде, что все должно работать. Однако это я мог делать и раньше. Почему я запустил команды makefile.pl и dmake ??

Также моей целью было установить модуль Apache2 :: Request. Я обнаружил, что это зависит от нескольких модулей. Я загрузил эти модули и выполнил для них команды выше - ошибки как таковой нет. В конце концов, когда я выполнил эти шаги для модуля Apache2 :: Request, я получил следующую ошибку в команде dmake:

D:\libapreq2-2.12.tar\libapreq2-2.12>dmake
dmake:  makefile:  line 25:  Warning: -- Duplicate target [Release]
dmake:  makefile:  line 25:  Warning: -- Duplicate target [Release]
dmake:  makefile:  line 25:  Warning: -- Duplicate target [!=]
dmake:  makefile:  line 25:  Error: -- Expecting macro or rule defn, found neith
er

Я не нахожу ничего подозрительного в Makefile в папке libapreq2-2.12.tar \ libapreq2-2.12. Частичное содержимое Makefile (вокруг строки с ошибкой):

LIBAPREQ=libapreq2
APREQ2_TEST=apreq2_test
CGITEST=test_cgi
MOD=mod_apreq2

!IF "$(CFG)" != "Release" && "$(CFG)" != "Debug"
!MESSAGE Invalid configuration "$(CFG)" specified.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE 
!MESSAGE NMAKE CFG="Release"
!MESSAGE 
!MESSAGE Possible choices for configuration are:
!MESSAGE 
!MESSAGE "Release" (based on "Win32 (x86) Console Application")
!MESSAGE "Debug" (based on "Win32 (x86) Console Application")
!MESSAGE 
!ERROR An invalid configuration is specified.
!ENDIF 

!IF "$(APACHE)" == ""
!MESSAGE No Apache directory was specified.
!MESSAGE Please run Configure.bat to specify a valid Apache directory.
!ERROR
!ENDIF

Может ли кто-нибудь помочь с этим и выше вопросом (почему он не копировал файлы pm автоматически)? Спасибо за ваше время!


person keeping_it_simple    schedule 29.11.2010    source источник
comment
Ваш вопрос похож на cpanforum.com/posts/9514, и, возможно, это должно решить его: cpanforum.com/posts/9716.   -  person Alan Haggai Alavi    schedule 29.11.2010
comment
Посмотрите Strawberry Perl (Strawberry Perl.com), который является хорошим дистрибутивом Perl для Windows, который поставляется с dmake и другими необходимыми инструментами. для сборки модулей XS под Windows.   -  person Alan Haggai Alavi    schedule 29.11.2010
comment
make - это программа, обычно встречающаяся в системах UNIX, но она доступна для Windows (и Strawberry Perl предоставит копию)   -  person Quentin    schedule 29.11.2010


Ответы (2)


Похоже, вы используете Indigo Perl. Согласно их веб-сайту, у них есть собственный менеджер пакетов под названием IPM - вы пробовали это?

Но для работы с Windows Perl я бы действительно рекомендовал взглянуть на Strawberry Perl.

person Dave Cross    schedule 29.11.2010
comment
Я не использовал IPM. Я посмотрю на это сейчас. Спасибо. - person keeping_it_simple; 30.11.2010
comment
Я также проверю Strawberry Perl. Мне действительно нужен был perl с mod_perl2 (так как у меня возникла проблема с интеграцией mod_perl2 с perl), и поэтому я установил пакет All In One Indigo, который поставлялся с Apache и Perl (с mod_perl2). - person keeping_it_simple; 30.11.2010

Иногда для установки модуля Perl все, что вам нужно сделать, это скопировать файл .pm в соответствующий каталог в perl / site или perl / lib. Стандартная процедура установки модуля Perl всегда включает запуск make, но во многих случаях все, что делает make, - это копирование файла .pm в perl / site или perl / lib. Но когда модулю Perl требуется низкоуровневый доступ к библиотекам Windows, тогда вам нужно больше, чем просто «make», вам нужна целая цепочка инструментов C.

Если ActiveState Perl противоречит вашей религии, подумайте о загрузке и установке среды Cygwin. Выберите Perl и инструменты разработки C (называемые binutils) для установки Cygwin.

Но я говорю вам, что ActiveState Perl сложно превзойти. Это наиболее полное Perl-решение для платформы Windows. И это бесплатно!

person YoReed    schedule 29.11.2010
comment
С 2006 года все изменилось. Стоит рискнуть взглянуть на win32.perl.org, чтобы увидеть здоровую конкуренцию. - person daxim; 29.11.2010