установка модуля CPAN на windows - PullRequest
2 голосов
/ 29 ноября 2010

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

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

Какую команду я запусту в Windows для завершения установки?

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

D: \ Анализировать-RecDescent-1.965001.tar \ Анализировать-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 автоматически)? Спасибо за ваше время!

Ответы [ 2 ]

7 голосов
/ 29 ноября 2010

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

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

1 голос
/ 29 ноября 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.И это бесплатно!

...