cpan App :: cpanminus在Straw 5.18&amp ;; 5.20

时间:2015-04-22 00:29:58

标签: perl cpan

我试图在32位Strawberry Perl 5.18.2.2和/或5.20.2.1中运行cpan App :: cpanminus,并且两个实例都失败并出现相同的错误:

以下是最后几行日志:

Checking if your kit is complete...
Looks good
Generating a dmake-style Makefile
Writing Makefile for App::cpanminus
Writing MYMETA.yml and MYMETA.json
  MIYAGAWA/App-cpanminus-1.7030.tar.gz
  C:\Strawberry\perl\bin\perl.exe Makefile.PL -- OK
Running make for M/MI/MIYAGAWA/App-cpanminus-1.7030.tar.gz
C:Strawberryperlbinperl.exe: not found
dmake.exe:  Error code 255, while making 'blib\lib\App\.exists'
  MIYAGAWA/App-cpanminus-1.7030.tar.gz
  C:\STRAWB~1\c\bin\dmake.exe -- NOT OK
Stopping: 'install' failed for 'App::cpanminus'.

环境是在OS X 10.8.5上的Parallels vm 9.0.24251中运行的XP SP3。这是一个很长的故事,为什么我这样运行XP。我只想说,我必须说。草莓Perl运行得非常好,比OS X中的原生Perl 5.12.4更好或更好,但事实上我无法让cpan App :: cpanminus工作让我非常,非常不舒服。用OJ来解释:"如果手套不合适,你就不能定罪" ..."如果脚本无法构建,则您无法信任该傻瓜。"

注意该错误消息如何挤出dir节点之间的斜杠。我用“' /'编码$ PATH和' \'并且错误是一样的。

我从5.18升级到5.20,看看是否能解决问题。它没有...所以问题几乎肯定在我的环境中......或者它的飞行员错误: - (

非常感谢任何想法并感谢您的阅读。

2 个答案:

答案 0 :(得分:0)

你安装了mks吗?要查看是否使用cmd.exe,请尝试

reg query "HKCU\Software\Microsoft\Command Processor"

根据How can I make Strawberry Perl's cpan(1) find perl? mks设置一个env var shell,你应该在运行cpan之前禁用它

set shell=

或者如果这不起作用,并且cmd.exe扩展名编辑你的perl配置(lib\Config_heavy.pl)以忽略/禁用命令扩展名,意味着从

更改它
$ perl -V:sh
sh='cmd /x /c';

更改为cmd /E:off /c又名cmd /y /c,表示/E:OFF Disable command extensions

答案 1 :(得分:0)

谢谢@ikegami,但我几乎从不运行cmd.exe;总是sh.exe,正如@optional正确推断的那样。