2010-06-16 278 views
10

我在Windows操作系统上安装了ActivePerl。我按照以下网址 程序安装在Windows操作系统上安装ActivePerl

ActivePerl Installation

已经这样做了之后,我试图在命令行中运行“的perl -v”。但它报告了以下错误。

系统无法执行 指定的程序

什么我需要做的,解决这些问题?

+0

更多地属于超级用户 – 2010-06-16 06:12:21

+0

提供您的操作系统,无论是32位还是64位,以及确切的包,zip,msi和平台都会有用。 – 2010-06-16 11:15:24

+0

如果您无法解决活动Perl问题,则可以尝试使用Strawberry Perl。 – dsolimano 2010-06-16 16:02:03

回答

8

你需要确保Perl可执行程序所在的目录(它可能是C:\perl\bin,但基本上你告诉ActiveState Perl要安装的地方)在你的PATH环境变量中(你可以通过键入set PATH命令找到变量值在Windows的命令行提示符下)。

如果你安装Perl来还不能确定(在默认C:\perl\bin无法找到它),你可以找到,从开始菜单中,找到的ActiveState Perl的文件夹的目录,并 -clicking在“Perl Package Manager”图标上,然后从右键菜单中选择“属性”。属性窗口(在“快捷方式”选项卡中)将有一个“目标”行显示该目录。

+0

当我搜索perl时什么都没有出现。如果我没有perl \ bin怎么办?如果我的开始菜单有“活动状态Perl”会怎么样?在任何地方搜索 – Tom 2016-08-04 23:57:56

+0

@Tom - 使用Windows文件搜索。 IIRC,主要桌面上的“F3”?或在开始菜单或文件浏览器中进行文件搜索。 – DVK 2016-08-05 01:06:20

4

这听起来并不像PATH一个问题 - 我希望它给消息'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使得相关程序的一些建议。 或者可以在活跃的国家论坛上提问。

+1

同意。这与路径无关 - 错误与此不同。您可能需要Microsoft Visual C++ 2005可再发行组件包(x86):http://www.microsoft.com/downloads/en/details.aspx?FamilyId=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en – troyt 2010-12-28 18:52:14

0

问题出在安装目录。

Perl PATH变量将被设置为C:\ Program Files \ perl(当然取决于32或64位),但是,默认安装目录是C:\ perl。这实际上很鬼鬼祟祟,因为你会认为安装程序会更聪明一些,但它会将环境变量设置为该目录,无论您在哪里安装该死的东西。

10

我正面临一个类似的问题......但事情是我可以通过右键单击该文件并使用perl命令行解释器打开它来执行文件....但仍然会出现该错误。 ..所有我所要做的就是执行该命令

set PATH=C:\Perl\bin;%PATH% 

这解决了问题...

+0

必须执行哪些多久? – 2017-06-22 21:30:22

6

我是在Windows 8的x64位版本上安装的ActiveState Perl和尝试调用'后得到一个类似的错误perl'在命令行。

'perl'不被识别为内部或外部命令,可操作 程序或批处理文件。

我记得在安装过程中选择了这个选项来将Perl目录添加到系统PATH环境中,并且在检查系统属性后,它确实显示在系统PATH中。

我试着安装'微软Visual C++ 2008 x86和x64可再发行组件安装'文件,建议几个地方,但它仍然没有解决问题,直到我尝试了这个线程中的一些建议。

在命令提示符下我进入:

set PATH 

和令人惊讶地没有列出Perl的目录,包括在PATH变量。

因此,为了弥补这方面我进入到这个命令提示符,然后按回车键:

set PATH=C:\Perl64\bin;C:\Perl64\site\bin;%PATH% 

(该目录路径为Perl的64位版本,调整根据您的安装)%PATH%部分很重要,并确保您现有的设置保持不变,并且在设置PATH时不会被覆盖和覆盖。

修复了这个问题,并在命令提示符中输入'perl -v'成功回复您的Perl版本。如果您在设置PATH变量之前打开PowerShell窗口,则需要关闭它并重新打开另一个PowerShell实例。

我相信最初的底层问题是针对32位和64位环境的不同PATH变量以及可能自动发生的一些内部Windows重定向。

+0

非常感谢 当在Dwimperl Windows7下运行系统('证明')时,找不到程序'使用FindBin'$ RealBin';系统('set PATH = c:\ Dwimperl \ perl \ bin;%PATH%'); my $ cmd = qq {prove --rc = .proverc :: --project $ {dir_4_test} --path_2_test_dir“$ RealBin/$ {dir_4_test}/jobs/Jobs”> $ {dir_4_test} .html}; 系统($ cmd);' – 2015-04-07 07:41:17

+0

这解决了我的问题。非常感谢。 – Omar 2016-04-09 22:06:16

2

我有一个类似的错误,这是通过将.pl扩展名添加到我已经忘记执行的脚本名称来解决的。

即使我的Perl的位置(C:\ Apps \ Perl \ bin)经过了%PATH%的验证,我也无法使其正常工作。

2

我有同样的错误。我能够通过改变环境变量中PATH变量中Perl64条目的顺序来解决它。我将C:\Perl64\bin移到C:\Perl64\site\bin之前,它就起作用了。

+0

嗨Slawomir,它也适用于我,谢谢! – 2016-12-23 06:10:46