【发布时间】:2011-12-16 20:33:12
【问题描述】:
我想在 Windows 机器上安装几个 Perl 模块。这是一个客户 UAT 盒子,所以我不知道它是如何配置的或由谁配置的。我们在 Dev box 上进行了安装,一切正常。
盒子正在运行 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 "require 5; print qq{VER_OK\n}" - ikegami 1 小时前的输出是什么
VER_OK
由于某种原因,我能够执行 /usr/bin/perl,当然 CPAN 必须执行(这不是 Perl 程序吗?),但是当 CPAN 寻找它时,它找不到它,因为权限搞砸了。
【问题讨论】:
-
您是否有机会使用 Strawberry Perl 并摆脱 Cygwin 的困扰?
-
你说你有 5.8.8 但它正在寻找
perl5.8.7.exe。发布$PATH。 -
您是否检查了实际显示该消息的条件?
-
perl -le'print( (-x "/usr/bin/perl.exe") || 0 )'的输出是什么 -
/usr/bin/perl.exe -e "require 5; print qq{VER_OK\n}"的输出是什么