c:\>perl -de 1
Loading DB routines from perl5db.pl version 1.32
Editor support available.
Enter h or `h h' for help, or `man perldebug' for more help.
main::(-e:1): 1
DB<1> require XML::Parser::Expat
Can't load '/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll' for module XML::Parser::Expat: No such file or directory at /usr/lib
/perl5/5.10/i686-cygwin/DynaLoader.pm line 200.
at (eval 5)[/usr/lib/perl5/5.10/perl5db.pl:638] line 2
Compilation failed in require at (eval 5)[/usr/lib/perl5/5.10/perl5db.pl:638] line 2.
DB<2> q
c:\>
以前有人遇到過這個嗎?如何解決它?我的cygwin位於C:\cygwin
cygwin perl錯誤無法加載expat.dll
沒有目錄C:\cygwin\usr\lib
但有C:\cygwin\lib
。當我打開bash
並嘗試cd /usr/lib
它成功(令人驚訝地)並且在ls
之後,看起來內容與目錄C:\cygwin\lib
相同。
也就是說,目錄C:\cygwin\lib\perl5\vendor_perl\5.10\i686-cygwin\auto\XML\Parser\Expat
包含一個名爲Expat.dll
的文件。
似乎cygwin說它找不到這個文件,但它怎麼會找到/usr/lib/perl5/5.10/i686-cygwin/DynaLoader.pm
?
我試着做chmod +x
但這並沒有解決它。
任何幫助?
做perl -MXML::Parser::Expat -e1
在命令行上返回:
c:\dev\trunk\src>perl -MXML::Parser::Expat -e1
Can't load '/usr/lib/perl5/vendor_perl/5.10/i686-cygwin/auto/XML/Parser/Expat/Expat.dll' for module XML::Parser::Expat: No such file or directory at /usr/lib
/perl5/5.10/i686-cygwin/DynaLoader.pm line 200.
at -e line 0
Compilation failed in require.
BEGIN failed--compilation aborted.
編輯: 此外,當我做同樣的在Cygwin的bash的環境(而不是在直接CMD),沒有錯誤!
在Cygwin shell中嘗試'perl -MXML :: Parser :: Expat -e1'。另外,當你在'cmd.exe'命令行中說'perl'時,它是哪一個? – Lumi
@Lumi:它是cygwin perl – prongs