我想在Windows机器上安装几个Perl模块。这是一个客户UAT盒子,所以我不知道它是如何配置的或者是谁。我们在Dev框上进行了安装,一切都按照宣传的方式进行。
该框正在运行Cygwin,并且已安装Perl 5.8.8。我无法更新或重新安装Cygwin。我必须使用我拥有的东西。
我尝试在系统上安装Spreadsheet :: Read,并收到以下错误:
CPAN.pm: Going to build F/FD/FDALY/Test-Tester-0.107.tar.gz
Checking if your kit is complete...
Looks good
Unable to find a perl 5 (by these names: /usr/bin/perl.exe perl.exe perl5.exe pe
rl5.8.7.exe miniperl.exe, in these dirs: /usr/local/bin /usr/bin /bin /usr/X11R6
/bin /cygdrive/d/oracle/product/10.2.0/client_1/bin /cygdrive/c/WINDOWS/system32
/cygdrive/c/WINDOWS /cygdrive/c/WINDOWS/System32/Wbem /usr/bin /cygdrive/d/APPL
IC~1/MCAFEE~1 /cygdrive/d/Applications/PowerCenter8.6.1/server/bin /usr/lib/lap
什么?它找不到Perl 5?它就在Cygwin的/usr/bin/perl.exe
中!
make还存在一个问题,但一次只有一件事...... gcc安装在Cygwin上,所以这不是问题。
到底发生了什么事?我在/cygdrive/p/.cpan
中有.cpan,但这是因为我的HOME
目录已定义。 (这是公司的事情)。
有什么想法吗?
我需要安装Spreadsheet::Read
,Spreadsheet::ParseExcel
和Spreadsheet::XLSX
。如果CPAN没有做到这一点,或者是否需要编译的东西,是否可以进行安装?请记住,Make也在表现。
你有没有机会使用Strawberry Perl并留下Cygwin的头痛?
我已经问过了。答案是否定的。
你说你有5.8.8但它正在寻找perl5.8.7.exe。发布$ PATH。
这是Perl 5.8.7。我的错。
路径:
/usr/local/bin
/usr/bin
/bin
/usr/X11R6/bin
/cygdrive/d/oracle/product/10.2.0/client_1/bin
/cygdrive/c/WINDOWS/system32
/cygdrive/c/WINDOWS
/cygdrive/c/System32/Wbem
/usr/bin
/cygdrive/d/APPLIC~1/MFAFEE~1
/cygdrive/d/ApplicationsPowerCenter8.6.1/server/bin
/usr/lib/lapack
您是否检查了实际显示该消息的条件?
没有太大的条件。它下载了那条消息后的所有内容。
perl -le'print的输出是什么((-x“/usr/bin/perl.exe”)|| 0)'
您获胜:权限为-rwx------
。我不敢相信我错过了。
/usr/bin/perl.exe -e的输出是什么“需要5;打印qq {VER_OK \ n}” - ikegami 1小时前
VER_OK
出于某种原因,我能够执行/ usr / bin / perl,当然CPAN必须(不是它是一个Perl程序吗?),但是当CPAN正在寻找它时,它无法找到它,因为权限搞砸了。
答案 0 :(得分:2)
消息来自ExtUtils :: MakeMaker。该消息是由于找不到可以运行-e "require 5; print qq{VER_OK\n}"
的目录(!-d)的可执行文件(-x)而产生的。
因此,请检查Perl的权限,
perl -le'print( (-x "/usr/bin/perl.exe") || 0 )'
如果上述情况返回true,请确保以下操作:
/usr/bin/perl.exe -e "require 5; print qq{VER_OK\n}"
答案 1 :(得分:1)
我知道现在有点晚了(抱歉,只是看到了这个问题),这真的不能回答你的问题,但是对于那些你不能“搞乱”机器的情况你做的很多,我我们发现portable strawberry perl是解决某些问题的好办法。