How do I run programs with Strawberry Perl?
一个同事正在他的Windows机器上尝试使用ACK(一个Perl程序),在Linux下进行了尝试,并决定一定要使用它。他设法在自己的机器上安装了草莓Perl,但似乎无法从命令提示符中找到使用它运行ACK的方法。他试图编辑!行,但我知道这样不行。我很确定草莓珍珠在他的路上。
在使用草莓的Windows上运行路径中的通用Perl程序需要做什么?
更新:我在网上看到了一些关于pathext变量的信息,但还不够。
首先,注意程序在
1 |
可能有助于你的搜索。确保您的
至少我知道有两种从Windows命令提示符运行Perl程序的常见方法。
第一种方法是使用pl2bat创建程序的批处理版本,该版本将使用程序执行
第二种方法是创建一个
1 | "C:\strawberry\perl\bin\perl.exe""%1" %* |
这样,您就可以通过使用
您可能已经注意到可以在Windows上调用程序而不需要扩展名。在
安装人员通常会处理最后两个步骤,但如果您想添加自己的或需要修复它,则此知识非常有用。
我在安装ACK并从命令行运行它时没有遇到任何问题。
草莓Perl安装正确吗?你能从cmd.exe运行"perl"吗?
1 2 3 4 5 | C:\> perl -V Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread ... |
是否正确安装了app::ack?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | C:\> cpan App::Ack ... Installing C:\strawberry\perl\site\lib\App\Ack.pm Installing C:\strawberry\perl\site\lib\App\Ack\Plugin.pm Installing C:\strawberry\perl\site\lib\App\Ack epository.pm Installing C:\strawberry\perl\site\lib\App\Ack esource.pm Installing C:\strawberry\perl\site\lib\App\Ack\Plugin\Basic.pm Installing C:\strawberry\perl\bin\ack Installing C:\strawberry\perl\bin\ack.bat Writing C:\strawberry\perl\site\lib\auto\ack\.packlist Appending installation info to C:\strawberry\perl\lib/perllocal.pod PETDANCE/ack-1.88.tar.gz C:\strawberry\c\bin\dmake.EXE install UNINST=1 -- OK |
如果是这样,我不明白为什么不能从命令行运行"ack":
1 2 3 4 5 6 7 | C:\> ack --version ack 1.88 Copyright 2005-2009 Andy Lester, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. |
如果它不起作用,那链条上的什么地方坏了?例如,如果您不能从命令行运行"perl",那么草莓没有正确安装(或者不在您的路径中),您需要修复它。但否则,ACK将安装一个"ack.bat"包装器,其路径与"perl"相同,因此如果您可以运行"perl",则应该能够运行"ack"。
另一个解决方案是用par::packer创建ack.exe——他根本不需要草莓。
如果他遵守了这篇博文的指示,他应该会没事的。我已经有一段时间没有安装草莓Perl了,但是iirc,在安装之后,我可以像在Linux机器上那样使用它。(如