【发布时间】:2016-11-14 10:08:15
【问题描述】:
我安装了一个包 (Strawberry Perl) 并将其 bin 目录 (C:\Strawberry\perl\bin) 添加到环境变量中。 cpan 是一个包管理器,它在里面是cpan.bat。
当我尝试运行它时,会发生以下情况:
C:\Users\horse> cpan -fi "DBD::mysql"
Can't find C:\Strawberry\perl\bin\cpan.bat on PATH, '.' not in PATH.
它显然是在找到文件,因为它怎么会知道它的确切位置:C:\Strawberry\perl\bin\cpan.bat
如果我尝试像这样运行cpan.bat 目录:
C:\Users\horse> C:\Strawberry\perl\bin\cpan.bat -fi "DBD::mysql"
Can't find C:\Strawberry\perl\bin\cpan.bat on PATH, '.' not in PATH.
同样的问题。我不明白为什么它需要一个'。在 PATH 中,但我将它添加到那里看看会发生什么,它不再说任何关于 '.' 的内容。但我仍然遇到同样的问题,找不到 cpan.bat:
C:\Users\horse> cpan
Can't find C:\Strawberry\perl\bin\cpan.bat on PATH.
有人知道这是什么问题吗?
【问题讨论】:
-
我删除了批处理文件标记,因为 a) 批处理脚本在检查路径目录之前检查当前目录中的文件,并且 b) Windows“文件不在 PATH 中”错误消息是 @987654327 @
-
这个问题出现在其他批处理文件中,例如
perldoc.bat。我很困惑输出文件的位置然后告诉我找不到它。所以你说它是这四种可能情况中的一种。它是一个批处理文件,这是肯定的。我可以通过进入文件夹并双击它来运行它。 -
我对 Perl 基本上一无所知,但是从我在网上看到的情况来看,您在安装它时似乎配置错误,或者您需要更新一个设置文件。无论哪种方式,这是一个 Perl 问题,而不是批处理问题。
-
是的,它绝对不是批处理文件的问题,当我手动双击它时,cpan.bat 运行得很好。你认为这是 Perl 的问题吗?看起来我可能安装了两个 perl.exe 文件,当我运行
get-command perl时,它说它位于C:\Program Files\Git\usr\bin\perl.exe。因此,它使用的是 Git 安装附带的版本。很奇怪,因为那个 git 文件夹实际上不在我的环境变量中。不知道该怎么办。 -
SomethingDark:我解决了这个问题,你说得对,这是 perl 的问题。我将在答案中发布详细信息。