【问题标题】:Windows - Can't find file on PATH, '.' not in PATHWindows - 在 PATH 上找不到文件,“。”不在 PATH 中
【发布时间】: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 的问题。我将在答案中发布详细信息。

标签: windows perl


【解决方案1】:

问题是我安装了两个 perl.exe 文件,当我运行 get-command perl 时,它说它位于 C:\Program Files\Git\usr\bin\perl.exe。因此,它使用了看起来像 CygWin 安装的版本(C:\Program Files\Git\usr\bin\ 加载了类似 unix 的命令)。所以我从C:\Program Files\Git\usr\bin 中删除了perl.exe,它解决了这个问题。

【讨论】:

  • 传奇伙伴!感谢您发布您的解决方案,而不仅仅是回答您解决了自己的问题:D 我遇到了这个问题,试图通过 Atom Beautify 运行 perltidy
猜你喜欢
  • 2014-03-02
  • 2017-04-28
  • 1970-01-01
  • 1970-01-01
  • 2019-10-12
  • 2019-01-16
  • 2015-01-25
  • 2015-05-19
  • 1970-01-01
相关资源
最近更新 更多