我在Windows操作系统上安装了ActivePerl。 我在URL下面跟着安装
ActivePerl安装
完成之后,我试图在命令行上运行“perl -v”。 但是它报告了以下错误。
系统不能执行指定的程序
我需要做些什么来解决这些问题?
您需要确保Perl可执行程序所在的目录(可能是C:\perl\bin
,但基本上无论您在哪里告诉安装Perl的ActiveState)都在您的PATH环境变量中(您可以通过键入set PATH
在Windows命令行提示符下的set PATH
命令)。
如果你不确定你在哪里安装Perl(并且在默认的C:\perl\bin
找不到它),你可以通过转到开始菜单,找到ActiveState Perl文件夹,然后右键点击“Perl Package Manager”图标,然后从右键菜单中选择“属性”。 属性窗口(在“快捷方式”选项卡中)将有一个“目标”行显示目录。
我正面临类似的问题…但事情是,我可以通过右键单击该文件并使用perl命令行解释器来打开它,但仍然perl-v
命令会给出错误…我所要做的就是执行这个命令
set PATH=C:\Perl\bin;%PATH%
这解决了这个问题…
在Windows 8 x64位版本上安装ActiveState Perl后,在命令行尝试调用“perl”时,出现类似的错误。
“perl”不被识别为内部或外部命令,可操作程序或批处理文件。
我记得在安装过程中选择这个选项来将Perl目录添加到系统PATH环境中,并且在检查系统属性之后,确实显示在系统PATH中。
我尝试安装“Microsoft Visual C ++ 2008 x86和x64可再发行组件安装”文件的建议由几个地方,但它仍然没有解决问题,直到我尝试了一些在这个线程的建议。
在我输入的命令提示符下:
set PATH
令人惊讶的是,它没有列出Perl目录被包含在PATH变量中。
所以要补救,我进入这个命令提示符,并回车:
set PATH=C:\Perl64\bin;C:\Perl64\site\bin;%PATH%
(目录路径适用于64位版本的Perl,根据您的安装进行调整)%PATH%部分非常重要,可确保在设置PATH时保留现有设置并不会被覆盖和覆盖。
修复它并输入“perl -v”到命令提示符成功地回复你的Perl版本。 如果您在设置PATH变量之前打开了PowerShell窗口,则需要关闭它并重新打开另一个PowerShell实例。
我相信最初的潜在问题是在32位和64位环境中使用不同的PATH变量,可能会自动发生一些内部的Windows重定向。
这听起来不像PATH的问题 – 我期望它给予'perl' is not recognized as an internal or external command, operable program or batch file.
消息'perl' is not recognized as an internal or external command, operable program or batch file.
我还没有看到这个错误信息,但http://nirlevy.blogspot.com/2008/03/system-cannot-execute-specified-program.html对相关程序提出了一些建议。 或者,也可以在Active State论坛上提问。
我有同样的错误。 我能够通过改变环境变量中PATH变量中Perl64条目的顺序来解决这个问题。 我将C:\Perl64\bin
移到了C:\Perl64\bin
C:\Perl64\site\bin
,并且工作正常。
我有一个类似的错误,这是通过将.pl扩展名添加到我已经忘记执行的脚本名称来解决的。
即使我的Perl的位置(C:\ Apps \ Perl \ bin)被验证为%PATH%,我也无法继续工作。
问题在于安装目录。
Perl PATH变量将被设置为C:\ Program Files \ perl(当然取决于32或64位),但是,默认的安装目录是C:\ perl。 这实际上是偷偷摸摸的,因为你会认为安装程序会更聪明一些,但是它将环境变量设置为该目录,无论你在哪里安装该死的东西。