2013-11-26 7 views
3

Я установилActivePerl команды пой ошибка

On Windows 7 64-bit OS 
ActivePerl 64bit 
Version 5.16.3.1603 
on D disk as D:/perl64 

я контролировал путь для Windows, это нормально.

D:\perl64\site\bin; D:\perl64\bin; 

Когда я открываю командира Git Bash и ввести

ppm install DBI 

или

ppm install DBD::mysql 

Это дает ошибку;

Can't locate ActivePerl/PPM/limited_inc.pm in @INC (@INC contains: 
    /usr/lib/perl5/5.8.8/msys /usr/lib/perl5/5.8.8 
    /usr/lib/perl5/site_perl/5.8.8/msys /usr/lib/perl5/site_perl/5.8.8 
    /usr/lib/perl5/site_perl .) at /d/perl64/bin/ppm line 4. BEGIN 
    failed--compilation aborted at /d/perl64/bin/ppm line 4. 

Я не мог найти какой-либо помощи или руководства

+0

выглядит как Perl ' 5.8.8' и '5.16.3' clashing –

+1

Вы не используете ActivePerl. Вы используете Perl 'msys'. – ikegami

ответ

3

Вы не используете ActivePerl. Вы используете Perl msys. Предположительно, это первое место на пути. Вам нужно будет изменить свой путь или отредактировать ppm.bat, чтобы загрузить правильный Perl.

0

Чтобы добавить к ответу @ikegami, msys имеет perl, установленный внутри папки /bin (или /usr/bin).

perl.exe, perl5.8.8.exe, msys-perl5_8.dll, perldoc и т.д ..

Переместить эти файлы в папку резервного копирования, т.е. msys_perl

  • cd /bin
  • mkdir msys_perl
  • mv *perl* msys_perl/

(или вы можете отменить лите их, если они вам не нужны.)

Теперь установка Perl от MSys не будет конфликтовать с вашей версией ActiveState Perl.

Вам также может потребоваться скопировать perl.exe из вашего ActiveState Perl бен каталога /c/Perl64/bin/perl.exe в /usr/bin/, чтобы избежать сообщения bad interpreter: No such file or directory ошибки, поскольку ппе считывает из /usr/bin/perl

  • cp /c/Perl64/bin/perl.exe /usr/bin/
+0

Это много работы! Почему бы просто не изменить свой путь, как я предложил? – ikegami

+0

Я пропустил «Предположительно, он приходит первым в пути» в вашем ответе ... мои извинения. Я думаю, на первый взгляд, я думал, что вы предлагаете удалить каталог в PATH, в котором содержится версия MSI Perl – lkisac

+0

@ikegami. Я изменил путь, поэтому сначала верная версия, я проверял с помощью 'perl -v', но ppm все еще читается из msys perl. Модифицировать ppm.bat _has_ также должно быть сделано. Я думаю, что мое решение будет работать без необходимости изменять ppm.bat (который также является файлом только для чтения) – lkisac